在Oracle
回收站
DBA管理上的相關信息可以從USER_recyclebin(DBA_recyclebin)中獲取
為了便於測試
SQL> CONNECT foo/foo
已連接
SQL> SELECT table_name FROM user_tables;
未選定行
SQL> DESC user_recyclebin
名稱 是否為空? 類型
user_recyclebin大多是自解釋的
SQL> SELECT object_name FROM user_recyclebin;
未選定行
SQL> CREATE TABLE foo AS SELECT * FROM DUAL;
表已創建
SQL> SELECT table_name FROM user_tables;
TABLE_NAME
FOO
SQL> DROP TABLE foo;
表已丟棄
SQL> SELECT table_name FROM user_tables;
TABLE_NAME
RB$$
SQL>
SQL> SELECT object_name
OBJECT_NAME ORIGINAL_NAME
RB$$
SQL> DESC RB$$
名稱 是否為空? 類型
DUMMY VARCHAR
當一個表被刪除並移動到
轉換後的名字格式如下:
RB$$objn$object_type$version
其中的RB
由數據庫指定
SQL> CREATE TABLE foo AS SELECT * FROM DUAL;
表已創建
SQL> SELECT table_name FROM user_tables;
TABLE_NAME
FOO
RB$$
SQL> DROP TABLE foo;
表已丟棄
SQL> SELECT object_name
OBJECT_NAME ORIGINAL_NAME
RB$$
RB$$
SQL>
能看出來
已經放到回收站裡的表是不能用drop 命令刪除的
SQL> drop table RB$$
drop table RB$$
*
ERROR 位於第
ORA
如果要清掉改對象
SQL> PURGE table RB$$
Table purged
SQL> SELECT object_name
OBJECT_NAME ORIGINAL_NAME
RB$$
對象已經清掉
恢復表
SQL> undrop table RB$$
Table undropped
SQL> SELECT object_name
未選定行
SQL> SELECT table_name FROM user_tables;
TABLE_NAME
RB$$
SQL> desc foo;
ERROR:
ORA
恢復後的表的名字為RB$$
如: undrop table RB$$
SQL>
SQL> desc RB$$
名稱 是否為空? 類型
DUMMY VARCHAR
SQL> DROP TABLE RB$$
表已丟棄
SQL> SELECT table_name FROM user_tables;
TABLE_NAME
RB$$
SQL>
如果我們這個時候再刪除RB$$
如果空間一直夠用
讓我們創建一個大一點的表
SQL> select object_name from user_recyclebin;
OBJECT_NAME
RB$$
SQL> CREATE TABLE foo_bigger AS SELECT * FROM all_objects WHERE ROWNUM<
表已創建
SQL> SELECT table_name FROM user_tables;
TABLE_NAME
FOO_BIGGER
SQL> SELECT object_name
未選定行
SQL>
哦
From:http://tw.wingwit.com/Article/program/Oracle/201311/17700.html