禁用oracle 11g 的統計資料自動功能

dingzihan發表於2014-02-08

背景:一同事打電話說,懷疑某平臺的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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章