分类: Oracle

Oracle删除归档日志

1、切换oracle用户

su - oracle

2、登录 ramn

rman target /

3、查看归档日志列表

RMAN> list archivelog all; 

查看失效的归档日志列表:

RMAN> list expired archivelog all;

4、删除归档日志

delete archivelog all completed before 'sysdate-10';    删除十天前的日志
delete force archivelog all completed before 'sysdate-10';  sysdate-10,表明当前的系统时间7天前,before关键字表示在10天前的归档日志。
delete archivelog all; 删除全部归档日志
delete noprompt force archivelog all; 日志爆了,用以上命令可能不起作用,行删除所有日志

5、删除物理文件不存在的归档日志

RMAN> crosscheck archivelog all; 检查控制文件和实际物理文件的差别。
RMAN> delete expired archivelog all; 同步控制文件的信息和实际物理文件的信息。

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

DELETE NOPROMPT ARCHIVELOG UNTIL TIME "TO_DATE('XXXX-XX-XX','YYYY-MM-DD')";

delete noprompt archivelog until time "to_date('2016-09-14 18:00:00','YYYY-MM-DD ')"
    
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;                              --->同上一命令  

相关文章

发表新评论