200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Oracle RMAN 清除归档日志

Oracle RMAN 清除归档日志

时间:2019-11-01 10:43:37

相关推荐

Oracle RMAN 清除归档日志

数据库|mysql教程

Oracle除归档日志, RMAN,Oracle RMAN

数据库-mysql教程

客户预约管理系统php源码下载,ubuntu换源操作,python 爬虫实例代码,php页面获取,seo自助提交lzw

因为rm,find方式删除了实际的归档日志也释放了空间,但对应的存储在控制文件中的归档信息并没有彻底清除。依旧占用着一些空间未

网盘直链平台源码,vscode如何提示格式错误,ubuntu 复制硬盘,tomcat每天定时关闭,爬虫量化炒股,php 数组 范围,网站seo优化怎么样,简单文章网站源码,wordpress公众号模板下载lzw

网站数据统计源码 php,ubuntu取消写保护,如何把tomcat做成服务,dht网络的爬虫,理发店会员管理系统php,黄冈seo技术lzw

在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多。可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件的记录来清除归档日志,或者直接写个shell脚本来搞定。这样在DEV或者UAT还可以,但是在Prod环境还是建议使用RMAN提供的命令来搞定比较妥当。因为rm,find方式删除了实际的归档日志也释放了空间,但对应的存储在控制文件中的归档信息并没有彻底清除。依旧占用着一些空间未能及时清除而需要控制文件通过age out方式来释放空间。本文描述了使用RMAN方式来清除归档日志,同时也可以将其部署到shell脚本中使用。

有关阅读本文需要的相关参考

Oracle 归档日志

Oracle 控制文件(CONTROLFILE)

Oracle 联机重做日志文件(ONLINE LOG FILE)

Linux/Unix shell 脚本中调用SQL,RMAN脚本

Linux/Unix shell 脚本清除归档日志文件

1、清除归档日志的方式

a、手动删除

使用rm 或者find方式来删除,通过该方式删除之后,在RMAN下可以通过 crosscheck archivelog all 校验归档是否失效,如下面的操作:

rm -rf arch_816906485_1_10.arc

find /u02/database/GOBO1/archive/ -ctime +0 -delete

RMAN> crosscheck archivelog all

b、使用RMAN方式清除

RMAN清除方式会自动清除磁盘上的归档日志文件,,同时会释放控制文件中对应的归档日志的归档信息。

可以基于不同的条件来清除归档日志,如基于SCN,基于SEQUENCE,基于TIME等方式。

对于上述的三种方式又可以配合from, until, between .. and .. 等等子句来限定范围,方式灵活多变。

下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的:

crosscheck archivelog all; —>校验日志的可用性

list expired archivelog all;—>列出所有失效的归档日志

delete archivelog until sequence 16; —>删除log sequence为16及16之前的所有归档日志

delete archivelog all completed before ‘sysdate-7’; —>删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志

delete archivelog all completed before ‘sysdate – 1’; —>同上,1天以前的

delete archivelog from time ‘sysdate-1’; —>注意这个命令,删除系统时间1天以内到现在的归档日志

delete noprompt archivelog all completed before ‘sysdate’; —>该命令清除所有的归档日志

delete noprompt archivelog all; —>同上一命令

2、演练使用RMAN清除归档日志

robin@SZDB:~> export ORACLE_SID=GOBO1

robin@SZDB:~> rman target /

Recovery Manager: Release 10.2.0.3.0 – Production on Thu Jul 11 17:07:00

Copyright (c) 1982, , Oracle. All rights reserved.

connected to target database: GOBO1 (DBID=733951103)

RMAN> host;

robin@SZDB:~> cd /u02/database/GOBO1/archive/

robin@SZDB:/u02/database/GOBO1/archive> ls

arch_816906485_1_10.arcarch_816906485_1_12.arc

arch_816906485_1_11.arcarch_816906485_1_13.arc

…………

robin@SZDB:/u02/database/GOBO1/archive> rm -rf arch_816906485_1_10.arc arch_816906485_1_11.arc arch_816906485_1_12.arc

robin@SZDB:/u02/database/GOBO1/archive> exit;

exit

host command complete

RMAN> crosscheck archivelog all;

released channel: ORA_DISK_1

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=1075 devtype=DISK

archive log filename=/u02/database/GOBO1/archive/arch_816906485_1_9.arc recid=2085 stamp=817211151

validation failed for archived log

archive log filename=/u02/database/GOBO1/archive/arch_816906485_1_10.arc recid=2086 stamp=817250793

…………..

validation succeeded for archived log

archive log filename=/u02/database/GOBO1/archive/arch_816906485_1_90.arc recid=2166 stamp=820458049

Crosschecked 83 objects

RMAN> list expired archivelog all;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。