恢复归档日志文件的常用方法

恢复归档日志文件的常用方法
个人分类:oracle 10g 新技术


恢复归档日志文件

恢复归档文件也是使用RESTORE命令,如果只是为了在恢复数据文件后应用归档文件,那并不需要手动对归档文件进行恢复,RMAN会在RECOVER的时候自动对适当的归档进行恢复。

单独恢复归档文件一般是有特别的需求,如创建了Data Guard环境,Standby端丢失了部分归档文件,必须从Primary端重新获取。或者是需要通过LogMiner对之前的归档进行分析等。

恢复归档文件非常灵活,可以全部恢复归档文件,也可以精确指定恢复哪些备份的归档文件,以下是具体例子:

1. 恢复全部的归档日志文件

RMAN>Restore archivelog all;



2. 恢复归档序号为20到30之间的归档文件:



RMAN> RESTORE ARCHIVELOG SEQUENCE BETWEEN 20 AND 30;

3. 恢复从哪个归档日志起

RMAN> restore archivelog from logseq 5;

4. 恢复7天内的归档日志

RMAN> restore archivelog from time 'sysdate-7';

5. 恢复到哪个日志文件为止

RMAN> restore archivelog until logseq 100;



默认情况下,RMAN将归档文件恢复到初始化参数LOG_ARCHIVE_DEST_1指定的路径下,有时候我们希望将恢复出来的归档文件存储到其他路径下,而不要与当前系统正在生成的归档文件混在一起,那么可以在执行RESTORE命令前,通过SET ARCHIVELOG DESTINATION TO命令设置归档的新路径,例如:

1. RMAN> RUN{

2. 2> SET ARCHIVELOG DESTINATION TO 'F:\ORACLE\BACKUP\ARCLOG';

3. 3> RESTORE ARCHIVELOG SEQUENCE BETWEEN 35 AND 40;

4. 4> }

这样,恢复出来的SEQUENCE序号为35~40的归档文件就将被存储到F:\oracle\backup\arclog目录下。

同一个RUN块中允许同时出现多个SET ARCHIVELOG命令,也就是说可以通过在不同位置设置不同的归档路径的方式,将归档恢复到不同的目录,例如:

1. RMAN> RUN{

2. 2> SET ARCHIVELOG DESTINATION TO 'F:\ORACLE\BACKUP\ARCLOG1';

3. 3> RESTORE ARCHIVELOG SEQUENCE BETWEEN 15 AND 20;

4. 4> SET ARCHIVELOG DESTINATION TO 'F:\ORACLE\BACKUP\ARCLOG2';

5. 5> RESTORE ARCHIVELOG SEQUENCE BETWEEN 21 AND 30;

6. 6> SET ARCHIVELOG DESTINATION TO 'F:\ORACLE\BACKUP\ARCLOG3';

7. 7> RESTORE ARCHIVELOG SEQUENCE BETWEEN 31 AND 40;

8. 8> }





相关文档
最新文档