[20151105]视图DBA_HIST_SEG_STAT_OBJ.txt

[20151105]视图DBA_HIST_SEG_STAT_OBJ.txt

--前一阵子看别人的awr报表.链接http://www.itpub.net/thread-1940496-1-1.html

Segments by Physical Reads

Owner          Tablespace Name  Object Name                     Subobject Name  Obj. Type  Physical Reads %Total
** MISSING **  KH_TBS            ** MISSING: 19105652/19105652  ** MISSING **   UNDEFINED  139,026,245    15.04

--可以发现上面的内容.从提示看这个对象已经不存在或者删除了.
--实际上我想如果知道当时的对象名称对于分析也许有一些好处.

--我仔细看了dba_hist_开头的视图,发现DBA_HIST_SEG_STAT,DBA_HIST_SEG_STAT_OBJ记录了这些信息.
--从理论讲awr报表生成应该读取的信息一定来源这里.

--按照道理这些信息已经无法找到,不知道通过logminer是否可以发现.
--自己做一个测试验证为什么出现MISSING的情况.

1.测试环境:

SCOTT@test> @ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.3.0     Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

SCOTT@test> create table t123 as select * from dual ;
Table created.

SCOTT@test> create table t456 as select * from dual ;
Table created.

SCOTT@test> drop table t123 purge ;
Table dropped.

SCOTT@test> exec dbms_workload_repository.create_snapshot();
PL/SQL procedure successfully completed.

2.检查:
SCOTT@test> select * from DBA_HIST_SEG_STAT_OBJ where object_name in ('T123' ,'T456') and owner=user;
      DBID        TS#       OBJ#   DATAOBJ# OWNER  OBJECT_NAME          SUBOBJECT_ OBJECT_TYPE        TABLESPACE_NAME PARTITIO
---------- ---------- ---------- ---------- ------ -------------------- ---------- ------------------ --------------- --------
2071943378          4     319342     319342 SCOTT  T456                            TABLE              USERS           NONE

--可以发现表T456在视图DBA_HIST_SEG_STAT_OBJ存在.但是表T123看不见.
--可以推测T123是 OBJ#=319341.

SCOTT@test> column SUBOBJECT_NAME format a30
SCOTT@test> select * from DBA_HIST_SEG_STAT_OBJ where obj# in (319341,319342);
      DBID TS#       OBJ#   DATAOBJ# OWNER         OBJECT_NAME                    SUBOBJECT_NAME  OBJECT_TYPE TABLESPACE_NAME PARTITIO
---------- --- ---------- ---------- ------------- ------------------------------ --------------- ----------- --------------- --------
2071943378   4     319341     319341 ** MISSING ** ** MISSING: 319341/319341      ** MISSING **   UNDEFINED   USERS           NONE
2071943378   4     319342     319342 SCOTT         T456                                           TABLE       USERS           NONE

--可以发现建立awr create snapshot时要把这个之时间点建立对象名称记录到DBA_HIST_SEG_STAT_OBJ(基表SYS.WRH$_SEG_STAT_OBJ).
--但是在这个时间点内建立又删除的对象无法记录名称.通过这个视图可以记录查询一些历史对象的名称.大致确定某个索引的建立时间.

--从某种意思讲适当延长awr报表的保存时间还是有积极意义.缺省的设置太小了.我个人建议最好保持45天,这点磁盘空间消耗不会太大.

SCOTT@test> SELECT * FROM dba_hist_wr_control;
      DBID SNAP_INTERVAL      RETENTION         TOPNSQL
---------- ------------------ ----------------- ----------
2071943378 +00000 01:00:00.0  +00008 00:00:00.0      50000

--要设置保留40天,间隔60分钟、应该执行:
SCOTT@test> select 40*60*24 from dual ;
  40*60*24
----------
     57600

--exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(retention=>57600, interval=>60);

时间: 2024-10-11 14:51:08

[20151105]视图DBA_HIST_SEG_STAT_OBJ.txt的相关文章

[20160412]访问all_directorys视图问题.txt

[20160412]访问all_directorys视图问题.txt --调试PL SQL脚本,遇到一个问题: 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING         VERSION    BANNER ------------------- ---------- -------------------------------------------------------------------------------- x86_64/Linux 2

[20120809]学习物化视图(补充).txt

[20120809]学习物化视图(补充).txt 1.测试环境: SQL> select * from v$version ; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production PL/SQL Release 11.2.0

[20140529]建立视图问题.txt

[20140529]建立视图问题.txt --昨天想将在10g下建立的视图移植到11g,遇到一个奇怪的问题,自己做一个记录. orcl> @ver BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi orcl> create table t  ( id number,c1 v

asp.net实现从Txt文件读取数据到数据视图的方法_实用技巧

本文实例讲述了asp.net实现从Txt文件读取数据到数据视图的方法.分享给大家供大家参考,具体如下: #region 从Txt文件读取数据到数据视图 /// 从Txt文件读取数据到数据视图 /// </summary> /// <param name="strExcelPath">文件路径</param> /// <returns>返回一个数据视图</returns> public static DataView GetDa

[20141029]10g和11G视图DBA_CONSTRAINTS

[20141029]10g和11G视图DBA_CONSTRAINTS.txt --上午同事讲一下表从10g导入11g时,一些约束没有导入,感觉不可能出现这种情况,我在10g下查看一些约束的状态是是disabled,但是 --type显示的是问号(在toad下).想起来我以前遇到的问题, --[20140131]toad看constraints的问题.txt http://blog.itpub.net/267265/viewspace-1076597/ --很容易明白这些表是没有主键,不过在11g

[20160220]12c视图一些字段显示128列.txt

[20160220]12c视图一些字段显示128列.txt --今天在家里做一些测试时,无意中发现视图显示字段名index_name占用很大的宽度,仔细检查才发现视图里面的显示长度已经是128列. SYS@test> @ver1 PORT_STRING          VERSION     BANNER                                                                        CON_ID -----------------

[20170502]11G查询隐含参数视图.txt

[20170502]11G查询隐含参数视图GV$SYSTEM_PARAMETER3.txt --//oracle 存在许多隐含参数,一直以为oracle没有提供正常的视图查询该内容,实际上oracle 11G已经提供这方面的功能,只不过oracle并不公开. --//自己也是偶然发现: 1.环境: SYS@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -------------------------

[20150629]物化视图刷新atomic_refresh.txt

[20150629]物化视图刷新atomic_refresh.txt --11G物化视图刷新有1个参数atomic_refresh. --如果为false,采用的方式是truncate,再使用/*+ append */ 提示insert.这样redo最少,但是刷新期间无法访问. --如果为true,采用的方式是delete,再insert.这样产生许多redo与undo.这样在刷新期间访问没问题,最多有点慢. --自己做一个测试: 1.建立测试环境: SCOTT@test> @ver1 PORT

[20150610]使用物化视图同步数据.txt

[20150610]使用物化视图同步数据.txt --昨天听别人的一个需求要同步一个表的数据,要求使用golden gate有点小题大作.实际上物化事务就可以了,自己以前做过一些测试,也 --许没做记录,这次做一个记录. 1.建立测试环境: --源数据库10g  10.2.0.4.0  IP=192.168.100.89 --同步表T. create table t ( id number CONSTRAINTS pk_t primary key , name varchar2(20)); in