Oracle删除归档日志文件

今天用户说归档目录的已使用百分比接近100%了,要求把归档删掉,释放文件系统空间。

查看归档目录:

SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /ora_arch/archive_log

Oldest online log sequence 25195

Next log sequence to archive 25202

Current log sequence 25202

然后df命令看了下,确实已经满了。

由于客户也比较急,就直接进归档目录rm rf * 删除了所有的归档。(这样做有一定的风险,建议立即做全库备份)。

另外,需要注意的是,rm删除归档日志文件是我自己一厢情愿的事儿,Oracle可不知道的。所以就要想办法通知Oracle,告诉它我已经先斩后奏地删除了某某归档文件~~~,呵呵,这是玩笑,其实是这样,在Oracle的控制文件中记录了每个归档日志文件的相关信息,而当我们在OS系统层面对这些归档日志文件动手脚的话(如rm),实际上在Oraclecontrolfile中仍然存在着这些归档日志文件的记录,即Oracle依然认为这些文件还是完好的存在着呢。

因此我们需要执行crosscheck命令来检查存在于控制文件中的记录信息与实际物理存在的归档日志文件信息的差别,命令:

RMAN> crosscheck archivelog all;

using target database controlfile instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=162 devtype=DISK

validation succeeded for archived log

archive log filename=/ora_arch/archive_log/1_25197.dbf recid=25195 stamp=730806579

.. .. .. .. ..省略

Crosschecked 6 objects

检查完之后,就需要同步一下归档目录中实际存在的文档文件相关信息与控制文件中的记录信息:

RMAN> delete expired archivelog all;

至此,我们才算完整的将归档文件彻底删除。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23219371/viewspace-1039011/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23219371/viewspace-1039011/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值