# 没有备份的恢复,请先保护现场
完全恢复:将日志应用到控制文件中的检查点
不完全恢复:按照日志中的redo条目的顺序连续应用到一个时间点
不完全恢复
recover datafile 1 using backup controlfile;
# 以red log中最新的SCN号为准进行恢复
recover database
# 以控制文件中的SCN号为准进行恢复
故障模拟:
有数据库的热备数据,有完整的规定日志和在线日志
误操作drop了一个重要的表
1. 使用日志挖掘确定恢复的点(scn / timestamp)
此操作必须要在数据库open的情况下才能进行,因此,建议恢复的操作另起实例
exec dbms_logmnr.add_logfile('/home/oracle/arclog/1_25_744803254.dbf',dbms_logmnr.new);
exec dbms_logmnr.add_logfile('/home/oracle/arclog/1_26_744803254.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile('/home/oracle/arclog/1_27_744803254.dbf',dbms_logmnr.addfile);
exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);
select scn,sql_redo from v$logmnr_contents
where lower(sql_redo) like '%drop%'
and seg_name='TESTBK'
and seg_owner='SCOTT'
/
2. 进行不完全恢复(参数文件/控制文件的恢复不再重复)
startup mount
recover database until change 5555536;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24679076/viewspace-748840/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24679076/viewspace-748840/