IT技术互动交流平台

Oracle数据库之基于SCN恢复

作者:aqszhuaihuai  来源:IT165收集  发布日期:2011-09-13 09:06:13

  基于SCN恢复是指当出现用户错误(例如误删除表、误截断表)时,恢复到指定SCN点的恢复。

  模拟误删除表t_user。

  执行rman,启动数据库到mount状态。

  使用set until scn命令指定要恢复到的scn点。

  转储、恢复数据库,并使用resetlogs选项打开数据库。

  --模拟误删除表t_user。



SQL> select count(*) from t_user;
COUNT(*)
----------
2
SQL> insert into t_user select 'spring mvc_' from dual;
1 row created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> alter system checkpoint;
System altered.
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1214281
SQL> drop table t_user;
Table dropped.

  --恢复



[oracle@localhost ~]$ rman target sys/oracle@oralife nocatalog
RMAN> run {
2> startup force mount;
3> set until scn=1214281;
4> restore database;
5> recover database;
6> sql 'alter database open resetlogs';
7> }

  --已恢复



SQL> select count(*) from t_user;
COUNT(*)
----------
3

  在实际环境下,应该使用LogMiner确定误操作SCN点。

  在执行了不完全恢复之后,推荐删除早期所有备份,重新备份数据库。

  以上就是Oracle数据库RMAN不完全恢复之基于SCN恢复的全部内容,本文我们就介绍到这里了,希望本次的介绍能够对您有所收获!

Tag标签: Oracle   数据库   RMAN   不完全恢复  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规