ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 禁用oracle 11g 的统计数据自动功能

禁用oracle 11g 的统计数据自动功能

Linux操作系统 作者:dingzihan 时间:2014-02-08 15:30:21 0 删除 编辑

背景:一同事打电话说,怀疑某平台的11G rac的统计信息功能关闭了,请帮忙检查是否打开。登上平台用以前检查10g的方式检查,可以检查不了,于是从网上搜到了如下检查方法,自己试了试,确认没问题。谢谢这位朋友!

手工停止自动收集统计信息任务
Oracle的11g版本中提供了统计数据自动收集的功能。在部署安装11g Oracle软件过程中,其中有一个步骤便是提示是否启用这个功能(默认是启用这个功能)。这个功能貌似带来了统计数据采集上的便捷,但是其中却隐藏着性能隐患。在7*24小时的系统中这种自动运行的任务很有可能对系统性能带来冲击。

1、查看自动收集统计信息的任务及状态
SQL> select client_name,status from dba_autotask_client;


CLIENT_NAME                          STATUS
------------------------------------- --------
auto optimizer stats collection      ENABLED
auto space advisor                    ENABLED
sql tuning advisor                    ENABLED


其中“auto optimizer stats collection”便是我们要寻找的自动收集统计信息的任务名称,它的状态目前是启用状态。


2、禁止自动收集统计信息的任务
使用DBMS_AUTO_TASK_ADMIN包完成这个任务。
SQL> exec DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'auto optimizer stats collection',operation => NULL,window_name => NULL);


PL/SQL procedure successfully completed.


SQL> select client_name,status from dba_autotask_client;


CLIENT_NAME                          STATUS
------------------------------------- --------
auto optimizer stats collection      DISABLED
auto space advisor                    ENABLED
sql tuning advisor                    ENABLED


此时“auto optimizer stats collection”任务已经被禁用,目的达到。


3、启用自动收集统计信息的任务
SQL> exec DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => 'auto optimizer stats collection',operation => NULL,window_name => NULL);


PL/SQL procedure successfully completed.


SQL> select client_name,status from dba_autotask_client;


CLIENT_NAME                          STATUS
------------------------------------- --------
auto optimizer stats collection      ENABLED
auto space advisor                    ENABLED
sql tuning advisor                    ENABLED


10g和11g对比
10g中查看收集统计信息作业的方法


SQL> col JOB_NAME for a16
SQL> col PROGRAM_NAME for a18
SQL> col SCHEDULE_NAME for a20
SQL> col SCHEDULE_NAME for a24
SQL> col JOB_CLASS for a20
SQL> select job_name, program_name, schedule_name, job_class from dba_scheduler_jobs where job_name = 'GATHER_STATS_JOB';


JOB_NAME        PROGRAM_NAME      SCHEDULE_NAME            JOB_CLASS
---------------- ------------------ ------------------------ --------------------
GATHER_STATS_JOB GATHER_STATS_PROG  MAINTENANCE_WINDOW_GROUP AUTO_TASKS_JOB_CLASS


11g中查看收集统计信息作业的方法
SQL> select client_name,status from dba_autotask_client;


CLIENT_NAME                          STATUS
------------------------------------- --------
auto optimizer stats collection      ENABLED
auto space advisor                    ENABLED
sql tuning advisor                    ENABLED

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

请登录后发表评论 登录
全部评论

注册时间:2009-12-04

  • 博文量
    55
  • 访问量
    417059