ITPub博客

首页 > 数据库 > Oracle > Oracle删除归档日志文件

Oracle删除归档日志文件

原创 Oracle 作者:abp0109 时间:2010-09-27 11:12:44 0 删除 编辑

今天用户说归档目录的已使用百分比接近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),实际上在Oracle的controlfile中仍然存在着这些归档日志文件的记录,即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博客 ” ,链接:https://blog.itpub.net/23219371/viewspace-1039011/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-01-21

  • 博文量
    17
  • 访问量
    36615