Oracle不完全恢复(二)
件
只能启动到nomount状态,控制文件损坏,
Oracle无法判断其target DB,因为一个catalog DB对应多个target DB。
需要通过DBID告诉Oracle需要恢复那个target DB。
rman target sys/system@orcl catalog rman/rman@test
set dbid=xxxxxxxx
list backup of controlfile;
restore controlfile--Oracle通过以下参数寻找恢复控制文件的位置 show parameter control_files
--恢复后,启动到mount状态会发现控制文件的checkpoint_change#比数据文件的checkpoint_change#小。
需要以下命令进行启动
recover database using backup controlfile;--告诉Oracle此控制文件是旧的
auto--输入auto,Oracle会自动根据备份的archive log进行恢复,但不是真正恢复,应该是Oracle内部在做检查
--直到恢复到当前联机日志,提示找不到备份文件。这是因为控制文件损坏,Oracle不知道这些信息
再次输入
recover database using backup controlfile;
--需要手工指定当前联机日志文件的位置。
F:\oracle\product\10.2.0\oradata\orcl\REDO01.LOG
--最后输入以下命令,打开
数据库
alter database open with resetlogs;
一致性备份指冷备份,shutdown之后的os copy
select
* from v$flash_recovery_area_usage;
--闪回恢复区存放以下几类文件
1.控制文件(CONTROL FILE AUTOBACKUP)
2.在线日志
3.归档日志
4.rman 备份片
5.rman image copy 备份(COPY DATAFILE 4 to 'C:\xx.dbf')
6.闪回日志
show parameter db_recovery;
select * from v$flash_recovery_area_usage;
--监控闪回恢复区的大小
--数据库失败的类型
1.实例失败
2.数据库失败 --媒介失败