如何清除归档日志

来源:互联网 发布:网络尿性的意思 编辑:程序博客网 时间:2024/05/01 06:01

1.切换用户到oracle

> su - oracle

2.进入rman
oracle> rman

3.连接到目标数据库
RMAN> connect target /

5.查看所有日志情况
RMAN> list archivelog all;

我们可以到OS下把这些物理文件delete掉。但是,我们都知道在controlfile中记录着每一个archivelog的相关信息,当我们在OS中删除这些文件后,我们的controlfile中仍然记录着这些archivelog的信息,因此在Oracle的OEM管理器中还会存在这些日志。因为当我们手工清除 archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了。如果我们已经这样做了,那么可以通过如下步骤来更新Oracle的controlfile中关于日志的信息:

6.检测归档日志

RMAN> crosscheck archivelog all; --命令的作用是将磁盘或者磁带上不存在的日志标记为expired

 

RMAN>delete expired archivelog all;  --删除rman目录中信息,并无物理文件删除

RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';    --删除一定时间范围的archive log

#find /oraarchive -xdev -mtime +7 -name "*.arc"| xargs rm -f;(删除OS中未被RMAN管理而里留下的归档文件)
RMAN>report obsolete;

RMAN>delete obsolete;    ---according to the rule of redundancy

然后在这样

CROSSCHECK BACKUPSET以后过期的备份会标记为expired ,delete expired backupset 应该没问题

0 0