Oracle学习教程:认识 v$segment_statistics

在 MOS 上发了SR、问 v$segment_statistics 是如何更新的?

Oracle 答曰:v$segment_statisitcs自 9IR2 引入以来、仅用作 internal research【这回答、坑爹嘛】

㈠ 先看表结构:

sys@ORCL> desc v$segment_statistics
 Name                                                  Null?    Type
 ----------------------------------------------------- -------- ------------------------------------
 OWNER                                                          VARCHAR2(30)    #对象所有者
 OBJECT_NAME                                                    VARCHAR2(30)    #对象名称
 SUBOBJECT_NAME                                                VARCHAR2(30)    #子对象名称
 TABLESPACE_NAME                                                VARCHAR2(30)    #对象所在表空间
 TS#                                                            NUMBER          #表空间标识
 OBJ#                                                          NUMBER          #字典对象标识
 DATAOBJ#                                                      NUMBER          #数据对象标识
 OBJECT_TYPE                                                    VARCHAR2(18)    #对象类型
 STATISTIC_NAME                                                VARCHAR2(64)    #统计项名称
 STATISTIC#                                                    NUMBER          #统计项标识
 VALUE                                                          NUMBER          #统计项值、单位是 访问次数

㈡ 接着谈适用场景

可用于监测段级(segment_level)统计项、鉴定性能问题源于表或者索引

我们就可以据此分析数据库中是否有部分对象的访问过于集中、等待过于频繁

例如、对于ITL等待较高的对象、则可以考虑为其增加更多的事务槽

㈢ 然后瞧个例子

使用 v$segment_statistics 找到最经常访问的表

sys@ORCL> ed
Wrote file afiedt.buf

  1  SELECT t.owner,t.table_name,lr.value+pr.value AS total_reads
  2    FROM
  3    (SELECT owner,object_name,value FROM v$segment_statistics WHERE statistic_name='logical reads') lr,
  4    (SELECT owner,object_name,value FROM v$segment_statistics WHERE statistic_name='logical reads') pr, dba_tables t
  5  WHERE lr.owner=pr.owner AND
  6        lr.object_name=pr.object_name AND
  7        lr.owner=t.owner AND
  8        lr.object_name=t.table_name
  9* ORDER BY 3 desc
sys@ORCL> /

OWNER                          TABLE_NAME                      TOTAL_READS
------------------------------ ------------------------------ ------------
SYS                            WRI$_OPTSTAT_HISTGRM_HISTORY          14080
SYS                            WRI$_OPTSTAT_HISTHEAD_HISTORY          4736
SYSMAN                        MGMT_METRIC_COLLECTIONS                4000
SYS                            HIST_HEAD$                            3936
SYS                            COL_USAGE$                            3104
SYS                            FIXED_OBJ$                            2912
SYSMAN                        MGMT_SYSTEM_PERFORMANCE_LOG            2688

相关推荐