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

如果误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一起恢复。

你可能感兴趣的:(oracle,user,table,存储)