有关高物理读取列出的LOB的Oracle Statspack报告详细信息

时间:2014-03-07 14:45:34

标签: sql oracle

我的Statspack报告显示,对数据库的大约90%的物理读取是因为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 个答案:

答案 0 :(得分: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,请小心,内存使用量可能会急剧增加!