Rman 管理 archivelog 的命令

  

由于archivelog的相关信息是记录在controlfile中的,当物理删除后不会改变controlfile的设置。而且在查询相关的动态视图(例如v$archived_log)时,该部分日志仍然标注为存在,也就是说rest

Oracle并不认为这些日志被删除了。日志

这种错误信息会致使在rman在备份archivelog终止,出现不能完成备份,而且阻塞后续的备份操做。orm

1、直接使用RMAN删除archivelog
RMAN>crosscheck  archivelog all;
RMAN>delete noprompt archivelog until time 'sysdate-3';
删除三天前的归档日志,不通过提示、直接删除。get

或者
RMAN>delete archivelog all completed before 'sysdate3';input

2、使用RMAN备份archivelog以后,进行删除动做。
RMAN>backup format '/backup/archlog_%T_%s_%U' archivelog all delete input;io


RMAN>backup format '/backup/archlog_%T_%s_%U' archivelog all delete all input;
这个表示备份全部的archivelog以后,删除全部路径下archivelog 由于有些库的archivelog 是多份的。form

或者在备份database的语句中加上plus archivelog;
RMAN>backup database plus archivelog;sed

3、若是是在OS层手工进行了archivelog或者文件丢失。
先进行archivelog 交叉检查
RMAN>crosscheck archivelog all;
RMAN>delete noprompt expired archivelog all;date

4、查出某个时间段所涉及到的archivelog;
RMAN>list backup of archivelog time between "to_date('2012-04-12 12:00:00','yyyy-mm-dd,hh24:mi:ss')"  and "to_date('2012-04-25 12:00:00','yyyy-mm-dd hh24:mi:ss')";file

根据以上查出的类容,咱们就能够经过备份还原出archivelog
RMAN>restore archivelog from logseq 11111 until logseq 11150;

5、与archivelog相关的命令

RMAN>crosscheck archivelog all;        -----交叉检查归档日志信息。
RMAN>list expired archivelog all;         -----列出全部过时的归档日志信息。
RMAN>list archivelog all;                -----查看当前归档日志列表信息。
RMAN>list archivelog from time='sysdate-2';       -----查看至今两天的日志信息。
RMAN>backup archivelog all  format '/u03/rman/arch_log_%d_%T_%s_%p';           -------备全部归档。
RMAN>backup as compressed backupset  archivelog all  format '/u03/rman/arch_log_%d_%T_%s_%p';       -------采用压缩,备全部归档。
RMAN>backup archivelog from time 'sysdate-3';       -------备份3天以来的归档日志。
RMAN>backup archivelog from sequence 5;       -------从日志序列是5的开始备份。
RMAN>backup archivelog from sequence 5 until sequence 10;     -------备份日志序列从5到10的日志。
RMAN>backup archivelog all delete all input;       --------备份完全部的日志后,删除全部归档目录的日志。
RMAN>delete noprompt expired archivelog all;       --------删除过时的archivelog
RMAN>restore archivelog all;         --------还原全部的archivelog日志
RMAN>restore archivelog all preview;        --------不真实还原,只是预览操做
RMAN>delete  archivelog all;         --------删除全部的archivelog日志
RMAN>restore archivelog from logseq 11111 until logseq 11150;     -------还原某个段的archivelog日志
RMAN>restore archivelog from sequence 36 until sequence 50;
RMAN>restore archivelog low sequence 36 high sequence 50;
RMAN>restore archivelog time between "to_date('2012-04-22 10:00:00','yyyy-mm-dd hh24:mi:ss')" and "to_date('2012-04-26 16:20:00','yyyy-mm-dd hh24:mi:ss')" preview;
RMAN>restore archivelog time between "to_date('2012-04-22 10:00:00','yyyy-mm-dd hh24:mi:ss')" and "to_date('2012-04-26 16:20:00','yyyy-mm-dd hh24:mi:ss')" ;

指定archivelog的恢复目的地,如你想把archivelog恢复到一个临时目录时有用RMAN>run {set archivelog destination to '/home/temp';}

相关文章
相关标签/搜索