因为失误,drop table ,导致关键表丢失,恢复办法如下
DROP TABLE 在oracle中,只是对该表进行重命名,并在数据字典中修改了相关数据,而并没有释放表所占用的物理空间,且还是占用着原来的表空间。
这个时候这张表去哪了呢,drop table 就是将该表重命名为BIN$ 开头的,放在了回收站里即 recyclebin。
要想恢复误drop掉的表,只需要从回收站里取出来就可以了,oracle9i开始引入了flashback table 这个概念。
flashback table ,用于恢复用户误删除的对象,其既可以对DML操作进行恢复,也可以对DDL操作进行恢复(就像drop table),flashback table的使用 依赖于recyclebin【回收站】。
测试:
SQL> conn scott/123456;
SQL> show parameter recyclebin;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
recyclebin string on
注释:recyclebin 是默认打开