数据库闪回操作恢复drop情况下的表

Oracle闪回技术

一、flashback drop闪回操作解析

意外删除一个表很容易发生,有时候还因为连接到错误的模式或者登录到错误的实例,导致删除了本来不应该删除的表,怎么进行成功恢复删除的表呢?这里我们将讲解flashback drop操作来进行数据库表恢复的操作。

通常为了避免登录错误的实例,我们这里可以添加sql*plus提示符,例如设置如下图

                            set sqlprompt "_user'@'_connect_identifier>"


二、使用闪回删除

首先我这里说drop table <table_name> purge这条sql语句,purge该关键字表示删除该表的所有引用并且永远无法恢复,换句话说如果用了上边那条语句,我们回收站的表user_recyclebin将不会保留删除表的结构记录,这是将无法恢复因误删除的表,所以如果不是可以完全删除表的情况下,不要用purge关键字

好啦,我们把删除表可能遇到的完全删除的情况已经列举过啦,那种情况没办法恢复,但我们通常情况下误删除操作表应用的命令往往是drop table <table_name>,该类操作只要不是在系统表空间下的用户操作往往可以恢复表,前提是只要在回收站的表user_recyclebin中查到删除的表结构信息,即可进行恢复。例如

 如图所示我们将ocs_bank_info表从系统中删除,假如说此时我们是对该表的误操作删除,这时候第一时间,查看user_recyclebin表,看里边是否存在ocs_bank_info的回收记录信息,如果有通过

flashback table names to before drop进行恢复,最后通过查询select count(*) from ocs_bank_info查询,可以查出我们误删除到包含45条的表。

 

 


 

猜你喜欢

转载自wangyaweinihao.iteye.com/blog/2331932