10g 新特性 Recyclebin 空間的自動清理(zt)
測試OS:windows2003
版 本:
SQL> select version from v$instance;
VERSION
-----------------
10.2.0.1.0
Oracle 10g中引入了Recyclebin的概念,刪除的表或其他物件會像Windows中刪除檔案一樣放入回收站(Recyclebin)中。你可以再從該回收站中flashback 回被drop 的表. 可以從recyclebin ,user_recyclebin ,dba_recyclebin 中獲得他們的相關資訊。
一般情況下,我們使用 purge 命令來清理一些不再需要的表。
SQL> purge recyclebin; --清理當前使用者下所有的回收站物件
SQL> purge table "BIN$VPoTvxPtQZuDABiSoxR8Mg==$0" ; --清理指定的表
前幾天看到一篇文章上有一段說: "回收站中的物件其實也是一般的物件,只是它的資訊要在recyclebin ,user_recyclebin ,dba_recyclebin 中去檢索,它的生命週期也是一般物件一樣的,oracle 不會自己去清理掉所謂ide回收站;"
這是不對的。Recyclebin中的表是不安全的!
放入Recyclebin中的表並不是永久存在的,當表空間被回收站資料完全佔滿,以至於必須擴充套件資料檔案來容納更多資料時,物件以先進先出的方式從回收站中自動清除。在刪除表之前,相關物件(如索引)被刪除。
同樣,空間壓力可能由特定表空間定義的使用者限額而引起。表空間可能有足夠的空餘空間,但使用者可能將其在該表空間中所分配的部分用完了。在這種情況下,Oracle 自動清除該表空間中屬於該使用者的物件。
我們來做一個實驗:
一、建立一個表空間和一個使用者。
SQL> create tablespace testts datafile 'D:ORACLEPRODUCT10.2.0ORADATAMINGTESTTS.DBF' size 1M;
表空間已建立。
SQL> create user test identified by test default tablespace testts temporary tablespace temp;
使用者已建立。
SQL> grant connect to test;
授權成功。
SQL> grant resource to test;
授權成功。
SQL> grant dba to test;
授權成功。
二、在表空間中建立表:
SQL> create table sysobj as select * from dba_tables;
表已建立。
SQL> select bytes from dba_segments where segment_name='SYSOBJ';
BYTES
----------
458752
SQL> create table sysobj2 as select * from dba_tables;
表已建立。
SQL> create table sysobj3 as select * from dba_tables;
create table sysobj3 as select * from dba_tables
*
第 1 行出現錯誤:
ORA-01652: 無法透過 8 (在表空間 TESTTS 中) 擴充套件 temp 段
三、因為這裡空間只有1M,這時空間不夠了,我們先刪除一個表。
SQL> drop table sysobj2;
表已刪除。
SQL> select * from recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION
------------------------------ -------------------------------- ---------
TYPE TS_NAME CREATETIME
------------------------- ------------------------------ -------------------
DROPTIME DROPSCN PARTITION_NAME CAN CAN
------------------- ---------- -------------------------------- --- ---
RELATED BASE_OBJECT PURGE_OBJECT SPACE
---------- ----------- ------------ ----------
BIN$PJ6U2b0JRVWgmdmQ7+5vXg==$0 SYSOBJ2 DROP
TABLE TESTTS 2008-07-13:23:43:50
2008-07-13:23:44:46 753663 YES YES
52838 52838 52838 56
四、再來建立表:
SQL> create table sysobj3 as select * from dba_tables;
表已建立。
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
SYSOBJ TABLE
SYSOBJ3 TABLE
五、這時我們可以看到,recyclebin中的表不見了,空間回收了!
SQL> select * from recyclebin;
未選定行
六、刪除測試使用者和表空間
(略)
http://www.itpub.net/viewthread.php?tid=1021030&extra=page%3D1&frombbs=1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-400048/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 10G 新特性系列: SYSAUX 表空間UX
- 10g新特性——表空間重新命名
- Oracle Database 10g新特性-改善的表空間管理OracleDatabase
- Win10硬碟空間如何自動清理Win10硬碟
- Oracle10g的回收站(recyclebin)和自由空間管理(zt)Oracle
- mac硬碟空間怎麼清理?這樣也能清理出上10G的磁碟空間Mac硬碟
- assm:Oracle 10g的自動段空間管理SSMOracle 10g
- Oracle 10g的自動段空間管理(ASSM)Oracle 10gSSM
- oracle 10g 新特性中文筆記(zt)Oracle 10g筆記
- 10G新特性: 臨時表空間組(temporary tablespace group)
- 10g新特性之-跨平臺表空間傳輸
- 10G新特性筆記之自動管理筆記
- Fast Recovery Area空間用滿後的自動清理機制AST
- [Oracle 10g] 大檔案表空間(zt)Oracle 10g
- 自動undo表空間模式下切換新的undo表空間模式
- 10G新特性筆記之跨平臺傳輸表空間筆記
- win10系統怎麼設定自動清理磁碟空間Win10
- oracle 10g ,11g 自動生成建立表空間的語句Oracle 10g
- recyclebin for oracle 10gOracle 10g
- Oracle 18c新特性詳解 - 表和表空間相關的新特性Oracle
- windows10磁碟空間不足怎麼清理_win10磁碟空間清理的方法WindowsWin10
- 10G新特性系列:禁止在AWR後自動執行ADDM
- Oracle清理SYSAUX表空間OracleUX
- 10g新特性:rman恢復時候資料檔案的自動建立
- 10g 新特性
- ORACLE臨時表空間的清理Oracle
- 【ASM】自動儲存管理的新特性ASM
- MySQL 8.0表空間新特性簡單實驗MySql
- MySQL 8.0.2 新特性 UNDO表空間管理的靈活性提升MySql
- docker磁碟空間清理辦法Docker
- Docker 空間使用分析與清理Docker
- 10G新特性 - AWR
- Oracle10g的回收站(recyclebin)和自由空間管理Oracle
- recyclebin未清引起的查詢表空間使用率慢
- 【故障-ORACLE】定時清理dba_recyclebinOracle
- 10g線上重定義新特性——關聯物件自動重新命名(二)物件
- 10g線上重定義新特性——關聯物件自動重新命名(一)物件
- Oracle 自動段空間管理(ASSM)OracleSSM