2015年(104)
分类: 服务器与存储
2015-06-18 23:49:28
原文地址:用冷备份+归档日志执行不完全恢复 ---续 作者:sjgd5753
(三)归档模式下的完全恢复
归档模式下的恢复分为:
介质完全恢复(Complete Recovery)使用数据库恢复到当前控制文件的状态。介质不完全恢复(Incomplete Recovery)使用数据库恢复非当前控制文件的状态。完全恢复是从备份的数据文件开始,重做所有归档日志的重做日志,使用数据库恢复到当前控制文件的状态。
完全恢复条件:
有最近的一次数据文件备份控制文件和日志文件没有损坏
从备份时间开始到数据文件损坏时的所有归档日志文件完好
1、关闭数据库时恢复
在数据库mound 状态下恢复数据库文件,该方法可以恢复system、undo 或整个数据库。
恢复步骤:
还原所有归档日志装入数据库还原损坏数据文件
恢复数据文件(数据库)
例:SQL>RECOVER AUTOMATIC DATAFILE ‘C:oracleoradatamydbsystem01.dbf’
或:SQL>RECOVER DATABASE
打开数据库
2、数据库在打开状态下恢复
在数据库open 状态下恢复表空间的数据文件,该方法不可以恢复system、undo或整个数据库。
恢复步骤:
还原所有归档日志
将表空间或数据文件脱机
例:SQL>ALTER TABLESPACE users OFFLINE IMMEDIATE;
或:SQL>ALTER DATABASE DATAFILE
2> ‘C:oracleoradatamydbusers01.dbf’ OFFLINE IMMEDIATE;
还原损坏数据文件
恢复表空间或数据库文件
例:SQL>RECOVER AUTOMATIC
DATAFILE ‘C:oracleoradatamydbuser01.dbf’
或:SQL>RECOVER TABLESPACE users;
数据文件或表空间联机
例:SQL>ALTER TABLESPACE users ONLINE;
或:SQL>ALTER DATABASE DATAFILE
‘C:oracleoradatamydbusers01.dbf’ ONLINE;
3、在数据库打开后恢复
在数据库mount 状态下使损坏数据文件脱机,将数据打开后再进行恢复。
恢复步骤:
还原所有归档日志
装放数据库
例:SQL>STARTUP MOUNT
数据文件脱机
例:SQL>ALTER DATABASE DATAFILE
‘C:oracleoradatamydbusers01.dbf’ OFFLINE;
打开数据库
例:SQL>ALTER DATABASE OPEN;
还原损坏数据文件
恢复数据库文件
例:SQL>RECOVER AUTOMATIC
DATAFILE ‘C:oracleoradatamydbuser01.dbf’
数据文件联机
例:SQL>ALTER DATABASE DATAFILE
‘C:oracleoradatamydbusers01.dbf ONLINE;
4、恢复没有备份的数据文件
如果数据文件没有备份,而从创建该表空间以来所有日志都存在,可以进行恢复。
恢复步骤:还原所有归档日志将表空间或数据文件脱机
例:SQL>ALTER TABLESPACE users OFFLINE;
或:SQL>ALTER DATABASE DATAFILE
‘C:oracleoradatamydbusers01.dbf’ OFFLINE IMMEDIATE;
创建新的数据文件
例:SQL>ALTER DATABASE CREATE DATAFILE
‘C:oracleoradatamydbusers01.dbf’ AS
‘C:oracleoradatamydbusers01.dbf’
恢复数据库文件
例:SQL>RECOVER AUTOMATIC
DATAFILE ‘C:oracleoradatamydbuser01.dbf’
数据表空间联机
例:SQL>ALTER DATABASE DATAFILE
‘C:oracleoradatamydbusers01.dbf’ ONLINE;
(四)归档模式下的不完全恢复
1、理解不完全恢复
不完全恢复使数据库恢复到非当前的状态。不完全恢复只能是整个数据库进行恢复,不能进行恢复表空间或数据库等局部恢复操作。
使用不完全恢复的原因:
恢复时归档日志丢失或损坏,不能实现完全恢复当前或活动归档日志丢失或损坏,不能实现完全恢复