Oracle查找lobsegment、lobindex對應的表

        在查看錶空間的使用狀況的時候,發現有幾個LOBSEGMENT、LOBINDEX類型的對象佔用了大量的空間。因而想找出那些表佔用了大量的空間,以便於清理。
        Oracle對BLOB類型的定義爲:存儲大型的、未被結構化的的變長二進制數據(如二進制文件、圖片文件、音頻和視頻等非文本文件),在Oracle11g中BLOB最大存儲容量爲128TB;CLOB的定義爲:用於存儲單字節或多字節的大型字符串對象,支持使用數據庫字符集的定長或變長字符,在Oracle11g中CLOB最大存儲容量爲128TB。顯然,LOB類型一般用來存儲大的信息,故lobsegment、lobindex佔用空間較大也就不足爲奇了。
       當表含有LOB字段時,Oracle會爲含有LOB字段的列單首創建一個lobsegment,同時還會建立一個lobindex。那麼lobsegment、lobindex是如何與表關聯起來的呢?能夠使用xxx_lobs來查找lobsegment、lobindex與表之間的關係:git

select owner, table_name, column_name, segment_name, index_name from     dba_lobs;

 

另外,若是lob segment是系統自動命名的,那麼遵循下面的規則,能夠經過dba_objects查找到對象和dba_tab_columns查找到想要的列號數據庫

SYS_LOB(10 digit object_id)C(5 digit col#)$$

而lobindex必然是系統自動建立的,遵循下面的規則:spa

SYS_IL(10 digit object_id)C(5 digit col#)$$

 

 這樣就能確認logsegment和lobindex屬於哪一個表的哪一列了。code

->_->視頻

相關文章
相關標籤/搜索