通过Oracle的回收站恢复被删除的表

长平狐 发布于 2012/10/17 16:19
阅读 631
收藏 0

如果误drop了表,可以使用select * from user_recyclebin
flashback [tablename] to before drop;
但是,如果普通用户没有执行flashback的权限,可以使用sys以dba身份登录执行。
如果一次性删除了多个表,可以写一个存储过程,一次性恢复。
定义一个游标,select * from dba_recyclebin where owner='xxx_user' and dropscn>=xxx and type='TABLE';
这个dropscn是一个序列值,比droptime更方便。
拼装字符串,记得,一定要加上对象的用户名
另外:只需要恢复table,其他的对象,比如索引,会随着table一起恢复。


原文链接:http://blog.csdn.net/fbysss/article/details/5872559
加载中
返回顶部
顶部