oracle 11g 统计信息 相关视图

11g中统计信息自动收集任务的名称是auto optimizer stats collection。11g中自动任务默认的执行时间窗口为:
    周一到周五是晚上10点开始到2点结束
    周末是早上六点,持续20个小时。
1、查看自动收集任务及状态
select client_name,status from Dba_Autotask_Client where client_name='auto optimizer stats collection';
2、停止自动收集任务
SQL> BEGIN
  2      DBMS_AUTO_TASK_ADMIN.DISABLE(
  3                     client_name => 'auto optimizer stats collection',
  4                     operation => NULL, window_name => NULL);
  5  END;
  6  /
 
PL/SQL procedure successfully completed.
SQL> select client_name,status from Dba_Autotask_Client where client_name='auto optimizer stats collection';
CLIENT_NAME                                                      STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection                                  DISABLED
但是此时再查询DBA_ATUOTASK_TASK视图时,显示该任务状态还是ENABLED
SQL> select client_name,status from dba_autotask_task where client_name='auto optimizer stats collection';
CLIENT_NAME                                                      STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection                                  ENABLED
Oracle给出的解释是在现在的版本中(11.1 to 11.2)一个client对应一个task,但是在将来的版本中会出现多个client会对应一个task,所以一个client被disabled了,不会改变task的状态。[ID 858852.1]
3、启动自动收集任务
SQL> BEGIN
  2      DBMS_AUTO_TASK_ADMIN.ENABLE(
  3                     client_name => 'auto optimizer stats collection',
  4                     operation => NULL, window_name => NULL);
  5  END;
  6  /
PL/SQL procedure successfully completed.
SQL> select client_name,status from Dba_Autotask_Client where client_name='auto optimizer stats collection';
CLIENT_NAME                                                      STATUS
---------------------------------------------------------------- --------
auto optimizer stats collection                                  ENABLED
4、查看自动收集任务历史执行状态


SQL> SELECT client_name, window_name, jobs_created, jobs_started, jobs_completed
  2   FROM dba_autotask_client_history
  3   WHERE client_name like '%stats%';
CLIENT_NAME                              WINDOW_NAME                    JOBS_CREATED JOBS_STARTED JOBS_COMPLETED
---------------------------------------- ------------------------------ ------------ ------------ --------------
auto optimizer stats collection          SATURDAY_WINDOW                           5            5              5
auto optimizer stats collection          SUNDAY_WINDOW                             6            6              6
通过时间窗口名称可以看出是周几执行的,在时间窗口内创建了几次job,执行了几次job,当然可以加上window_start_time来查看具体执行的日期。
5、查看自动收集任务执行时间窗口
SQL> select WINDOW_NAME, WINDOW_NEXT_TIME , WINDOW_ACTIVE,OPTIMIZER_STATS from DBA_AUTOTASK_WINDOW_CLIENTS order by WINDOW_NEXT_TIME ;
WINDOW_NAME                    WINDOW_NEXT_TIME                                WINDO OPTIMIZE
------------------------------ ----------------------------------------------- ----- --------
MONDAY_WINDOW                  26-NOV-12 10.00.00.000000 PM PRC                TRUE  ENABLED
TUESDAY_WINDOW                 27-NOV-12 10.00.00.000000 PM PRC                FALSE ENABLED
WEDNESDAY_WINDOW               28-NOV-12 10.00.00.000000 PM PRC                FALSE ENABLED
THURSDAY_WINDOW                29-NOV-12 10.00.00.000000 PM PRC                FALSE ENABLED
FRIDAY_WINDOW                  30-NOV-12 10.00.00.000000 PM PRC                FALSE ENABLED
SATURDAY_WINDOW                01-DEC-12 06.00.00.000000 AM PRC                FALSE ENABLED
SUNDAY_WINDOW                  02-DEC-12 06.00.00.000000 AM PRC                FALSE ENABLED
我将系统日期改为11月26日22点以后,MONDAY_WINDOW执行时间窗口自动激活。
6、查询自动收集任务正在执行的JOB
select client_name, JOB_SCHEDULER_STATUS from DBA_AUTOTASK_CLIENT_JOB where client_name='auto optimizer stats collection';
这个查询没有结果也很正常,只有job正在运行时,该查询才有结果。
7、与时间窗口相关的视图
查询自动收集任务所属时间窗口组
SQL> select client_name,window_group from dba_autotask_client where client_name='auto optimizer stats collection';
CLIENT_NAME                              WINDOW_GROUP
---------------------------------------- ---------------------------------------------------
auto optimizer stats collection          ORA$AT_WGRP_OS
查询自动收集任务所属时间窗口组详细信息
SQL> select * from dba_scheduler_window_groups where window_group_name='ORA$AT_WGRP_OS';
WINDOW_GROUP_NA ENABL NUMBER_OF_WINDOWS NEXT_START_DATE                     COMMENTS
--------------- ----- ----------------- ----------------------------------- ---------------------------------------------
ORA$AT_WGRP_OS  TRUE                  7 26-NOV-12 10.00.00.000000 PM PRC    auto optimizer stats collection
查看自动收集任务所属时间窗口组包含的子时间窗口
SQL> select * from dba_scheduler_wingroup_members where window_group_name='ORA$AT_WGRP_OS';
WINDOW_GROUP_NA WINDOW_NAME
--------------- ------------------------------
ORA$AT_WGRP_OS  MONDAY_WINDOW
ORA$AT_WGRP_OS  TUESDAY_WINDOW
ORA$AT_WGRP_OS  WEDNESDAY_WINDOW
ORA$AT_WGRP_OS  THURSDAY_WINDOW
ORA$AT_WGRP_OS  FRIDAY_WINDOW
ORA$AT_WGRP_OS  SATURDAY_WINDOW
ORA$AT_WGRP_OS  SUNDAY_WINDOW
查看子时间窗口信息
SQL> select a.window_name,a.next_start_date,a.active from dba_scheduler_windows a
  2  inner join dba_scheduler_wingroup_members b on a.window_name = b.window_name
  3  where b.window_group_name='ORA$AT_WGRP_OS';
WINDOW_NAME                    NEXT_START_DATE                     ACTIV
------------------------------ ----------------------------------- -----
MONDAY_WINDOW                  26-NOV-12 10.00.00.000000 PM PRC    TRUE
TUESDAY_WINDOW                 27-NOV-12 10.00.00.000000 PM PRC    FALSE
WEDNESDAY_WINDOW               28-NOV-12 10.00.00.000000 PM PRC    FALSE
THURSDAY_WINDOW                29-NOV-12 10.00.00.000000 PM PRC    FALSE
FRIDAY_WINDOW                  30-NOV-12 10.00.00.000000 PM PRC    FALSE
SATURDAY_WINDOW                01-DEC-12 06.00.00.000000 AM PRC    FALSE
SUNDAY_WINDOW                  02-DEC-12 06.00.00.000000 AM PRC    FALSE
通过这个查询可以看出DBA_AUTOTASK_WINDOW_CLIENTS视图的信息其实和上面的结果一样。
总结一下统计信息自动收集任务运行的步骤:
首先是dba_autotask_task-->dba_autotask_client建立自动执行任务
再根据时间窗口及资源组建立自动执行作业
dba_autotask_client-->dba_scheduler_window_groups-->dba_scheduler_windows
                                                                                                                                    -->dba_scheduler_jobs
dba_autotask_client-->dba_scheduler_job_classes
相关视图:
dba_autotask_task
dba_autotask_client
dba_autotask_client_job
dba_autotask_window_clients
dba_autotask_client_history
dba_scheduler_jobs
dba_scheduler_job_classes
dba_scheduler_window_groups
dba_scheduler_windows
dba_scheduler_wingroup_members
自定义自动收集任务时间窗口:
How to use an own Maintenance Window for the Statistics Collection in 11g [ID 1300313.1]
MOS相关文档: FAQ: Automatic Statistics Collection [ID 1233203.1]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25462274/viewspace-2131159/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25462274/viewspace-2131159/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值