首页 > 代码库 > Performing User-Managed Database-18.6、About User-Managed Media Recovery

Performing User-Managed Database-18.6、About User-Managed Media Recovery

18.6、About User-Managed Media Recovery
为了完成恢复,oracle建议使用recover语句。也可以使用alter database recover语句,但是recover语句更简单。

18.6.1、Preconditions of Performing User-Managed Recovery
开始任何一种介质恢复,必须遵循以下限制:
(1)必须有管理员权限
(2)所有恢复会话必须协调
(3)一个会话完成非一致性介质恢复时,另外一个会话不能启动一致性介质恢复
(4)如果通过共享服务器进程连接到数据库,不能启动介质恢复

18.6.2、Applying Logs Automatically with the RECOVER Command--使用recover命令自动地应用日志
oracle建议使用recover命令而不是alter database recover命令来完成介质恢复。当使用sql语句完成介质恢复,最简单的方法是完成自动恢复。自动恢复不需要像手动恢复那样,应用每个归档日志。
当使用sql语句完成介质恢复时,有两个选项来自动应用需要的归档日志:
(1)在执行recover命令前,执行set autorecovery on
SQL> set autorecovery on
SQL> recover database;

(2)为recover命令指定automatic
SQL> recover automatic database;

注意:如果完成非一致性恢复或还原一个备份的控制文件,数据库只会推测需要的归档日志名称,可能需要手动应用重做日志文件。

18.6.3、Recovering When Archived Logs Are in the Default Location--归档日志在默认位置
随着日志被用到,数据库建议了文件名称。数据库通过关联初始化参数log_archive_dest_n和log_archive_format重建建议的归档日志文件名。所以,如果所有归档日志文件放在log_archive_dest_n,同时log_archive_format没有改变,数据库可以自动地建议和应用归档日志完成介质恢复。

18.6.4、Resetting the Archived Log Destination
编辑log_archive_dest_n和log_archive_format初始化参数文件,执行alter system语句改变归档日志的默认位置

18.6.5、Overriding the Archived Log Destination
在某些情况下,重读 归档位置参数的当前设置:
(1)使用操作系统命令,把归档日志拷贝另外一个位置
(2)使用set logsource ‘‘语句或recover automatic database from ‘xxx‘ 指定新的位置
重读归档日志资源,不影响在线重做日志被归档的位置

18.6.6、Responding to Unsuccessful Application of Redo Logs
recover语句,数据库成功应用归档日志后,会返回:Log applied。很大情况下,需要手动应用重做日志。如果建议的文件不正确或提供一个不正确的文件名,数据库会返回:
ORA-00308: cannot open archived log "/oracle/oradata/trgt/arch/arcr_1_811.arc"
ORA-27037: unable to obtain file status
SVR4 Error: 2: No such file or directory
Additional information: 3
直到正确的归档日志或重做日志被应用,恢复才能继续。应用日志后,数据库可能返回如下错误信息:

18.6.7、Interrupting User-Managed Media Recovery--打断介质恢复
有些情况下,需要中断介质恢复:
(1)当应用重做日志时,输入cancel
(2)使用操作系统中断信号:ctrl+c