程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 10G 中的“回收站”

Oracle 10G 中的“回收站”

編輯:Oracle數據庫基礎

在Oracle 10G中,引入了一個回收站(Recycle Bin)的概念.

回收站,從原理上來說就是一個數據字典表,放置用戶Drop掉的數據庫對象信息.用戶進行Drop操作的對象,並沒有被數據庫刪除,仍然會占用空間.除非是由於用戶手工進行Purge或者因為存儲空間不夠而被數據庫清掉.數據庫有了這樣的功能,能夠減少很多不必要的麻煩.常常看到開發人員誤把表刪除,急急忙忙找DBA來想辦法的情況,相信,隨著10G的大范圍應用,這種情形應該比較少見了.

DBA管理上的相關信息可以從USER_recyclebin(DBA_recyclebin)中獲取.從現在的Beta版本來看,手冊上所說的通過SQL*Plus的show recycle bin 命令查看還不可用.

為了便於測試,我們創建了一個表空間Foo,大小為1M,創建了一個用戶Foo,默認的表空間為Foo.

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$$41888$TABLE$0

SQL>;

SQL>; SELECT object_name, original_name FROM user_recyclebin;

OBJECT_NAME ORIGINAL

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved