之前我们介绍了:Oracle数据库RMAN不完全恢复之基于时间恢复,本文我们介绍一下Oracle数据库RMAN不完全恢复的基于SCN恢复的相关知识,希望能够对您有所帮助。

公司主营业务:成都网站设计、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出呼图壁免费做网站回馈大家。
基于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恢复的全部内容,本文我们就介绍到这里了,希望本次的介绍能够对您有所收获!