
Oracle10g提供了类似操作系统中的回收站功能。当drop
table的时候,实际上只是将其重命名,并将table以及相关联的对象如index,constraint等放到回收站(RecycleBin)中,后续如果发现drop错了table,可以使用flashback
table命名将回收站中的table还原,这就是Oracle10g的Flashback Drop功能。
1.什么是Recycle Bin
实际上,Recycle Bin只是一个保存被drop的对象的一个数据字典表。所以,可以通过如下语句查询回收站中的信息:
select * from recyclebin
除非拥有sysdba权限,每个用户只能看到属于自己的对象。所以,对于用户来说,好像每个人都拥有自己的回收站。即使用户有删除其他schema对象的权限,也只能在recyclebin中看到属于自己的对象。
做个小试验:
SQL> conn ning/ning
已连接。
SQL> drop table test;
表已删除。
SQL> drop table test.test;
表已删除。
SQL> select object_name,original_name from
recyclebin;
-------------------------------oracle--------------------------------
驱动:oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@<machine_name><:port>:dbname
注:machine_name:数据库所在的机器的名称;
-------------------------------mysql--------------------------------
驱动:org.gjt.mm.mysql.Driver
URL:jdbc:mysql://<machine_name><:port>/dbname
注:machine_name:数据库所在的机器的名称;
----------------------------pointbase---------------------------------
驱动:com.pointbase.jdbc.jdbcUniversalDriver
URL:jdbc:pointbase:server://<machine_name><:port>/dbname
注:machine_name:数据库所在的机器的名称;