如何檢視ORACLE的LOB(BLOB和CLOB)物件佔用的大小

xufengzhu發表於2018-11-23

最近,某個資料介面專案上ORACLE資料庫的使用空間越來越大,我們要檢視一下資料庫中哪個資料表的資料量的大小,以便進行有針對性的處理.

1.檢視Oracle中表空間及表資料大小

SELECT SEGMENT_NAME,
       (SUM(BYTES) / 1024 / 1024 / 1024) || 'GB' AS TABLE_SIZE
  FROM USER_EXTENTS
 GROUP BY SEGMENT_NAME
 ORDER BY TABLE_SIZE DESC;

2、從返回的結果看,有一個segment名為"SYS_LOB0000090035C00005$$"的物件佔用了大量的空間,這種帶有SYS_LOB***即LOB(BLOB和CLOB)物件佔用資料庫的空間名稱。

 3、根據segment_name,就可以從 dba_lobs 表裡查到是哪個表,哪個欄位,具體的SQL如下:

SELECT * FROM DBA_LOBS WHERE SEGMENT_NAME LIKE 'SYS_LOB0000090035C00005$$';

 

 可以發現是bizdoccontent這個表裡存在的Bolb型別CONTENT存有大資料,佔用了7.3GB的空間。

 

相關文章