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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mac硬碟空間怎麼清理?這樣也能清理出上10G的磁碟空間Mac硬碟
- MySQL空間最佳化(空間清理)MySql
- Oracle10g的回收站(recyclebin)和自由空間管理Oracle
- [20211013]Oracle 19c新特性Listener自動清理(Network Log File Segmentation).txtOracleSegmentation
- Oracle 18c新特性詳解 - 表和表空間相關的新特性Oracle
- windows10磁碟空間不足怎麼清理_win10磁碟空間清理的方法WindowsWin10
- Oracle清理SYSAUX表空間OracleUX
- MySQL 8.0表空間新特性簡單實驗MySql
- 清理oracle資料庫空間Oracle資料庫
- docker磁碟空間清理辦法Docker
- 【10g SQL新特性】q-quote使用SQL
- Oracle 10g大檔案表空間(轉)Oracle 10g
- Linux伺服器硬碟空間清理Linux伺服器硬碟
- SYSAUX表空間清理之SM/OPTSTATUX
- 如何檢查Mac磁碟空間,mac磁碟空間其他怎麼清理Mac
- MySQL 5.7新特性之線上收縮undo表空間MySql
- 自動清理 binlog
- pbootcms模板自動清理runtime快取,自動清理快取boot快取
- PHP 核心特性 - 名稱空間PHP
- ORACLE9I升級到10G(zt)Oracle
- 每天自動統計表空間的使用情況
- Oracle目錄由於TFA觸發bug導致jdb檔案未自動清理引起空間不足Oracle
- Laravel 8 的新特性:時間旅行Laravel
- 寶塔自動備份網站到FTP空間網站FTP
- 2.5.5 使用自動Undo管理: 建立 Undo 表空間
- 爬蟲實戰 -- QQ空間自動點贊爬蟲
- Mac技巧14:如何在Mac上清理磁碟空間?Mac
- oracle 10G特性之awrOracle 10g
- MySQL 5.7 新特性 共享臨時表空間及臨時表改進MySql
- Hazel for Mac自動化清理Mac
- 談談k8s1.12新特性–Mountpropagation(掛載名稱空間的傳播)K8S
- PHP名稱空間與自動載入簡述PHP
- 【java】JDK5的新特性→→自動裝箱和拆箱JavaJDK
- Centos Linux 清理磁碟佔用空間:/dev/xvda1CentOSLinuxdev
- Linux空間不足怎麼辦?磁碟滿了如何清理?Linux
- win10如何徹底清理c盤 win10清理c盤空間教程Win10
- Win10磁碟空間不足怎麼清理 電腦怎麼清理個人磁碟Win10
- win10系統如何清理C盤 win10系統清理C盤空間的方法Win10
- 如何執行自動 Mac 清理Mac