日期:2014-05-16 浏览次数:20470 次
探索ORACLE不完全恢复之--基于cancel恢复 第一篇
作者:吴伟龙 Name:Prodence Woo
QQ:286507175 msn:hapy-wuweilong@hotmail.com
基于cancel的不一致性恢复(归档存在) 第一篇
基于取消的恢复只适用于以下情况:归档日志丢失导致完全恢复失败;丢失了数据文件和未归档的重做日志(联机重做日志);
1、先关闭数据库,执行一次全库冷备份。
SQL> selectfile_name from dba_data_files;
FILE_NAME
--------------------------------------------
/DBBak2/oradata/WWL/users01.dbf
/DBBak2/oradata/WWL/sysaux01.dbf
/DBBak2/oradata/WWL/undotbs01.dbf
/DBBak2/oradata/WWL/system01.dbf
/DBBak2/oradata/WWL/WWL001.dbf
/DBBak2/oradata/WWL/WWL002.dbf
/DBBak2/oradata/WWL/WWL003.dbf
7 rows selected.
SQL> shutdownimmediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> !mkdir/DBBak2/oradata/WWL2
SQL> !cp/DBBak2/oradata/WWL/* /DBBak2/oradata/WWL2/
2、然后打开数据库继续使用,我们可以看到备份的时候数据库wwl001表中只有4条记录。
SQL> select * fromwwl001;
ID NAME
---------- ------------------
1 jetsen
2 woo
3 prudence
4 beijin
4 rows selected.
3、继续向wwl001表中插入数据,并切换日志让redo log归档。
SQL> insert intowwl001 values(5,'china');
1 row created.
SQL> insert intowwl001 values(6,'america');
1 row created.
SQL> commit;
Commit complete.
SQL> select * fromwwl001;
ID NAME
---------- ------------------
1 jetsen
2 woo
3 prudence
4 beijin
5 china
6 america
6 rows selected.
SQL>
SQL> alter systemswitch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
4、关闭数据库,模拟数据文件丢失,归档日志也丢失了,所以数据库只能做不一致性恢复。
SQL> shutdownabort;
ORACLE instance shut down.
SQL> !rm -rf/DBBak2/oradata/WWL/*.dbf