归档重做日志用于在数据文件还原后,重做备份后经历过的所有操作。
备份归档重做日志的步骤很简单,在确定归档日志文件的位置后,直接通过操作系统命令拷贝到目的目录就可以了:
SQL> SELECT THREAD#, SEQUENCE#, NAME FROM V$ARCHIVED_LOG;
THREAD# SEQUENCE# NAME
---------- ---------- ------------------------------------------------
1 1 F:ORACLEORADATATESTARCHIVEARC00001.001
1 2 F:ORACLEORADATATESTARCHIVEARC00002.001
1 3 F:ORACLEORADATATESTARCHIVEARC00003.001
1 4 F:ORACLEORADATATESTARCHIVEARC00004.001
1 5 F:ORACLEORADATATESTARCHIVEARC00005.001
1 6 F:ORACLEORADATATESTARCHIVEARC00006.001
1 7 F:ORACLEORADATATESTARCHIVEARC00007.001
1 8 F:ORACLEORADATATESTARCHIVEARC00008.001
1 9 F:ORACLEORADATATESTARCHIVEARC00009.001
1 10 F:ORACLEORADATATESTARCHIVEARC00010.001
1 11 F:ORACLEORADATATESTARCHIVEARC00011.001
1 12 F:ORACLEORADATATESTARCHIVEARC00012.001
1 13 F:ORACLEORADATATESTARCHIVEARC00013.001
1 14 F:ORACLEORADATATESTARCHIVEARC00014.001
1 15 F:ORACLEORADATATESTARCHIVEARC00015.001
1 16 F:ORACLEORADATATESTARCHIVEARC00016.001
已选择16行。
SQL> HOST COPY F:ORACLEORADATATESTARCHIVE* F:ORACLEBACKUPARCHIVELOG
操作虽然简单,但是仍然有需要注意的地方。开始我考虑的是,不需要拷贝所有的归档重做日志,而只需要拷贝从当前备份开始的所有归档重做日志,且把归档重做日志的备份和数据文件的备份保存在一起,这样就构成了当前数据库的一份完整的备份。
但是,仔细考虑了一下,发现这样做存在一些问题。如果我保留多个数据库的备份,采用上面的方法意味着我需要重复拷贝多组归档重做日志。而如果将所有的归档重做日志全部备份到同一个地方,则可以避免这个问题。确定需要的重做日志是由恢复操作所决定的,根据恢复操作选择的用来恢复的备份来决定使用的归档日志。