2014-03-07 46 views
0

我的Statspack報告顯示,大約90%的物理讀取數據庫是因爲LOB。Oracle Statspack報告LOB列出的高物理讀取詳情

我在下面給出了我的statspack報告片段。

Segments by Physical Reads DB/Inst: PMDS2/pMDS2 Snaps: 12184-12191 
-> End Segment Physical Reads Threshold:  1000 

             Subobject Obj.  Physical Pct 
Owner  Tablespace Object Name   Name   Type   Reads Total 
---------- ---------- -------------------- ------------ ----- ------------ ----- 
MDSSYS  MDSDATA SYS_LOB0000064003C00    LOB  465,135 89.0 

我如何知道關於此LOB的更多詳細信息?如何找到持有該LOB的表格/列以及爲什麼使用大量物理讀取?

回答

1

試試這個查詢來獲取有關此特定LOB信息:

SELECT owner, table_name, column_name 
    FROM dba_lobs 
WHERE segment_name = 'SYS_LOB0000064003C00'; 

對於物理讀,在Oracle默認每LOB訪問,無論是讀或寫,是一個物理I/O直接從磁盤讀取數據或直接寫入磁盤。您可以控制LOB內容是否緩存或不與以下:

ALTER TABLE table_name MODIFY LOB (column_name) (CACHE); 

但要小心,如果你有大尺寸的LOB,內存使用量可能會大幅增加!