david database lab

 
 

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿(3)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • 书画 (rss)
  • 围棋 (rss)
  • 地理 (rss)
  • 天文 (rss)
  • 摄影 (rss)
  • 文学 (rss)
  • 旅游 (rss)
  • 电影 (rss)
  • 诗集(3) (rss)
  • 象棋 (rss)
  • 运动 (rss)
  • 音乐 (rss)

随笔档案

  • 2008年9月 (1)
  • 2008年7月 (3)

文章分类

  • AJAX (rss)
  • ARITHEMETIC (rss)
  • C++ (rss)
  • CONFIGURATION (rss)
  • CSS(2) (rss)
  • DB2 (rss)
  • EJB (rss)
  • HQL (rss)
  • HTML(4) (rss)
  • JAVA(9) (rss)
  • JAVASCRIPT(27) (rss)
  • JSP(2) (rss)
  • LINUX(7) (rss)
  • MANUAL (rss)
  • MYSQL (rss)
  • ORACLE(88) (rss)
  • PL/SQL(3) (rss)
  • PL/SQL DEVELOPER (rss)
  • REGEX(1) (rss)
  • RSS(2) (rss)
  • SQL (rss)
  • SQL PLUS (rss)
  • SQL SERVER (rss)
  • SSH (rss)
  • STRUTS(6) (rss)
  • TOAD (rss)
  • XML(1) (rss)
  • 单元测试 (rss)
  • 数据库基础(7) (rss)
  • 数据建模 (rss)
  • 环境部署(5) (rss)
  • 项目设计(1) (rss)

文章档案

  • 2009年11月 (47)
  • 2009年8月 (2)
  • 2009年7月 (2)
  • 2009年6月 (11)
  • 2009年5月 (14)
  • 2009年4月 (2)
  • 2009年2月 (4)
  • 2009年1月 (2)
  • 2008年12月 (5)
  • 2008年11月 (6)
  • 2008年10月 (13)
  • 2008年9月 (3)
  • 2008年8月 (6)
  • 2008年7月 (16)
  • 2008年6月 (31)
  • 2008年5月 (4)

相册

  • goole相册
  • RELAX

收藏夹

  • oracle-DataGuard (rss)
  • oracle-RMAN (rss)
  • oracle体系 (rss)
  • oracle备份恢复 (rss)
  • oracle闪回 (rss)

JavaScript Web

  • gegereka-linux
  • linux 资源文件
  • java2s (rss)
  • java2s
  • onlyaa
  • ORACLE官方论坛
  • rpm.pbone.net
  • rpm资源
  • struts-guide
  • w3school
  • 鸟哥

搜索

  •  

最新评论

  • 1. re: hand in hand
  • I cannot thank you enough for the blog . Really thank you! Really Cool.
  • --zakbut
  • 2. re: oracle之isqlplus登录问题
  • 启动isqlplus
    isqlplus star
  • --广州大道
  • 3. re: 日期日间控件4
  • 显示时间,用户原来选择的时间
  • --LVWallet
  • 4. re: linux -- cpio命令
  • gunzip 10201_database_linux_x86_64.cpio.gz
  • --Goyard
  • 5. re: js 组合框
  • <option value="csdn">csdn</option>
  • --saletopbags

阅读排行榜

  • 1. hand in hand(380)
  • 2. 桃花记(255)
  • 3. 月夜随想(236)
  • 4. 冬至随想(228)

评论排行榜

  • 1. hand in hand(2)
  • 2. 桃花记(0)
  • 3. 月夜随想(0)
  • 4. 冬至随想(0)

Powered by: 博客园
模板提供:沪江博客
BlogJava | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

学用ORACLE AWR和ASH特性 (6)查看AWR视图 转自三思http://www.5ienet.com/note/html/ash_awr/oracle-awr-vtables.shtml

(6)查看AWR视图
[君三思] 2009-11-5

三、查看AWR视图

  不管是EM也好,或是前面演示中使用的awr*.sql脚本也好,实质都是访问ORACLE中的部分相关视图来生成统计数据,因此如果DBA对自己的理解能力有足够的自信,也可以直接查询动态性能视图(或相关数据字典)的方式来获取自己想要的那部分性能数据。ORACLE将这部分性能统计数据保存在DBA_HIST开头的数据字典中,要查询当前实例所有能够访问的DBA_HIST字典,可以通过下列语句:

    SQL>  select * from dict where table_name like ¨DBA_HIST%¨;

    TABLE_NAME                     COMMENTS

    ------------------------------ --------------------------------------------------------------------------------

    DBA_HIST_DATABASE_INSTANCE     Database Instance Information

    DBA_HIST_SNAPSHOT              Snapshot Information

    DBA_HIST_SNAP_ERROR            Snapshot Error Information

    DBA_HIST_BASELINE              Baseline Metadata Information

    DBA_HIST_WR_CONTROL            Workload Repository Control Information

    DBA_HIST_DATAFILE              Names of Datafiles

    DBA_HIST_FILESTATXS            Datafile Historical Statistics Information

    DBA_HIST_TEMPFILE              Names of Temporary Datafiles

    DBA_HIST_TEMPSTATXS            Temporary Datafile Historical Statistics Information

    DBA_HIST_COMP_IOSTAT           I/O stats aggregated on component level

    DBA_HIST_SQLSTAT               SQL Historical Statistics Information

    DBA_HIST_SQLTEXT               SQL Text

    ......................

    ........................

  ORACLE 数据库中以DBA_HIST命名的视图非常多,下面简单介绍几个,比如说:

  • V$ACTIVE_SESSION_HISTORY

  该视图由ASH自动维护,以每秒一次的频率收集当前系统中活动session的信息。虽然说是记录SESSION的历史记录,不过该视图与V$SESSION还是有差异的。

    SQL> desc v$active_session_history;

    Name                      Type         Nullable Default Comments 

    ------------------------- ------------ -------- ------- -------- 

    SAMPLE_ID                 NUMBER       Y                         

    SAMPLE_TIME               TIMESTAMP(3) Y                         

    SESSION_ID                NUMBER       Y                         

    SESSION_SERIAL#           NUMBER       Y                         

    USER_ID                   NUMBER       Y                         

    SQL_ID                    VARCHAR2(13) Y                         

    SQL_CHILD_NUMBER          NUMBER       Y                         

    SQL_PLAN_HASH_VALUE       NUMBER       Y                         

    FORCE_MATCHING_SIGNATURE  NUMBER       Y                         

    SQL_OPCODE                NUMBER       Y                         

    PLSQL_ENTRY_OBJECT_ID     NUMBER       Y                         

    PLSQL_ENTRY_SUBPROGRAM_ID NUMBER       Y                         

    PLSQL_OBJECT_ID           NUMBER       Y                         

    PLSQL_SUBPROGRAM_ID       NUMBER       Y                         

    SERVICE_HASH              NUMBER       Y                         

    SESSION_TYPE              VARCHAR2(10) Y                         

    SESSION_STATE             VARCHAR2(7)  Y                         

    QC_SESSION_ID             NUMBER       Y                         

    QC_INSTANCE_ID            NUMBER       Y                         

    BLOCKING_SESSION          NUMBER       Y                         

    BLOCKING_SESSION_STATUS   VARCHAR2(11) Y                         

    BLOCKING_SESSION_SERIAL#  NUMBER       Y                         

    EVENT                     VARCHAR2(64) Y                         

    EVENT_ID                  NUMBER       Y                         

    EVENT#                    NUMBER       Y                         

    SEQ#                      NUMBER       Y                         

    P1TEXT                    VARCHAR2(64) Y                         

    P1                        NUMBER       Y                         

    P2TEXT                    VARCHAR2(64) Y                         

    P2                        NUMBER       Y                         

    P3TEXT                    VARCHAR2(64) Y                         

    P3                        NUMBER       Y                         

    WAIT_CLASS                VARCHAR2(64) Y                         

    WAIT_CLASS_ID             NUMBER       Y                         

    WAIT_TIME                 NUMBER       Y                         

    TIME_WAITED               NUMBER       Y                         

    XID                       RAW(8)       Y                         

    CURRENT_OBJ#              NUMBER       Y                         

    CURRENT_FILE#             NUMBER       Y                         

    CURRENT_BLOCK#            NUMBER       Y                         

    PROGRAM                   VARCHAR2(48) Y                         

    MODULE                    VARCHAR2(48) Y                         

    ACTION                    VARCHAR2(32) Y                         

    CLIENT_ID                 VARCHAR2(64) Y                         

   v$session 中与操作相关的列均被收集,除此之外还冗余了部分列,这是为了方便DBA查询V$ACTIVE_SESSION_HISTORY时能够快速获取到自己需要的数据。

  • DBA_HIST_ACTIVE_SESS_HISTORY

  该视图与V$ACTIVE_SESSION_HISTORY的结构灰常灰常灰常的想像,功能也灰常灰常灰常的类似,都是记录活动session的操作记录,所不同点在于,V$ACTIVE_SESSION_HISTORY是ORACLE自动在内存中维护的,受制于其可用内存区限制,并非所有记录都能保存,而DBA_HIST_ACTIVE_SESS_HISTORY视图则是维护到磁盘中的。简单理解的话,就是说通常情况下,DBA_HIST_ACTIVE_SESS_HISTORY视图的数据量要比V$ACTIVE_SESSION_HISTORY的多。

    提示:上述结构并不绝对,因为默认情况下DBA_HIST_ACTIVE_SESS_HISTORY字典的数据每10秒收集一次,而V$ACTIVE_SESSION_HISTORY中则是每秒一次,因此也有可能V$ACTIVE_SESSION_HISTORY中记录量更大。不过相对来说,DBA_HIST字典中保存的数据更长久。
  • DBA_HIST_DATABASE_INSTANCE

  该视图用来显示数据库和实例的信息,比如DBID,实例名,数据库版本等等信息,生成报表中第一行表格,就是由该视图生成的。如图:

  

  如果你去分析awrrpt.sql脚本的话,会发现其中有如下脚本,上述表格中显示的内容信息,正是来自于下列脚本:

    select distinct

           (case when cd.dbid = wr.dbid and 

                      cd.name = wr.db_name and

                      ci.instance_number = wr.instance_number and

                      ci.instance_name   = wr.instance_name

                 then ¨* ¨

                 else ¨  ¨

            end) || wr.dbid   dbbid

         , wr.instance_number instt_num

         , wr.db_name         dbb_name

         , wr.instance_name   instt_name

         , wr.host_name       host

      from dba_hist_database_instance wr, v$database cd, v$instance ci;
  • DBA_HIST_SNAPSHOT

  该视图用来记录当前数据库收集到的快照信息。相信朋友应该还记得之前使用脚本生成报表时,输入完快照区间后显示的一堆列表,没错,那正是DBA_HIST_SNAPSHOT记录的内容,该段功能对应的代码如下:

    select to_char(s.startup_time,¨dd Mon "at" HH24:mi:ss¨)  instart_fmt

         , di.instance_name                                  inst_name

         , di.db_name                                        db_name

         , s.snap_id                                         snap_id

         , to_char(s.end_interval_time,¨dd Mon YYYY HH24:mi¨) snapdat

         , s.snap_level                                      lvl

      from dba_hist_snapshot s

         , dba_hist_database_instance di

     where s.dbid              = :dbid

       and di.dbid             = :dbid

       and s.instance_number   = :inst_num

       and di.instance_number  = :inst_num

       and di.dbid             = s.dbid

       and di.instance_number  = s.instance_number

       and di.startup_time     = s.startup_time

       and s.end_interval_time >= decode( &num_days

                                       , 0   , to_date(¨31-JAN-9999¨,¨DD-MON-YYYY¨)

                                       , 3.14, s.end_interval_time

                                       , to_date(:max_snap_time,¨dd/mm/yyyy¨) - (&num_days-1))

     order by db_name, instance_name, snap_id;
发表于 2009-11-23 09:55 javaex 阅读(1141) 评论(0)  编辑  收藏 所属分类: ORACLE
 
新用户注册  刷新评论列表  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问   管理
相关文章:
  • Oracle 10g Scheduler 特性 转自 http://blog.csdn.net/tianlesoftware/archive/2009/10/22/4715218.aspx
  • 全面学习ORACLE Scheduler特性 (12)使用Window和Window Group 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-window.shtml
  • 全面学习ORACLE Scheduler特性 (11)使用Job Classes 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-job-classes.shtml
  • 全面学习ORACLE Scheduler特性 (10)使用Chains之管理CHAIN 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-alter-chains.shtml
  • 全面学习ORACLE Scheduler特性 (9)使用Chains之创建CHAIN 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-create-chains.shtml
  • 全面学习ORACLE Scheduler特性 (8)使用Events之Aapplication抛出的Events 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-application-events.shtml
  • 全面学习ORACLE Scheduler特性 (7)使用Events之Scheduler抛出的Events 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-using-scheduler-events.shtml
  • 全面学习ORACLE Scheduler特性 (6)设置Repeat Interval参数 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-repeat_interval.shtml
  • 全面学习ORACLE Scheduler特性 (5)Schedules调度Programs执行的Jobs 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-schedule-job-execute.shtml
  • 全面学习ORACLE Scheduler特性 (4)使用和管理Schedules 转自三思 http://www.5ienet.com/note/html/scheduler/oracle-scheduler-create-schedule.shtml