使用flashback闪回恢复误删除drop user cascade的oracle用户

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638   QQ号:47079569    邮箱:[email protected]

 

问题:我意外的删除了方案所有者,所有表的数据全部没了,我该如何恢复user ID和它的表?

如果他们发现我删除了生产的user ID ,丢失了表中的数据,我将会被解雇。

回答:一般情况下,oracle闪回工具可以很容易的重建被个人删除的表:

flashback table persons to before drop;

flashback table “BIN$ksisyyg0TxKnt18rqukpQA==$0” to before drop rename to new_persons;

    如果你使用cascade命令删除用户,任何在回收站中的属于该用户的对象都会自动清除。面临的问题是如何获得表名,索引约束和其他相关的方案对象。

重建被删除的用户需要拷贝生产数据库到沙盒,使用闪回恢复整个数据库到用户被删除之前。然后,导出用户数据,用ftp传送dmp文件到生产上,重新创建user ID 重新导入对象。

然而,不用担心,因为闪回特性可以使它们回来!

按照以下步骤:

克隆整个生产数据库到你的测试实例。当你完整的克隆生产后,你需要启动oraclemount模式,然后你使用闪回数据库回滚数据库到你删除user ID之前的点

SQL> startup mount

SQL> flashback database to timestamp to_date(’23-DEC-2010
11.38.00′,’DD-MM-YYYY HH24:MI:SS’);

现在你已经完成闪回,打开测试数据库到read-only模式:

SQL > alter database open read only;

使用exportexpdp)工具导出用户和它的对象

FTP导出的dmp文件到你的生产环境

重建被删除的用户

SQL> create user fred identified by flintstone . . . ;

运行数据泵中的导出工具(impdp)恢复所有的表,索引,约束和行。

查看表的数量来确认导入是否成功。


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *