关闭oracle自动统计,禁用oracle 11g 的统计数据自动功能
背景:一同事打電話說,懷疑某平臺的11G rac的統計信息功能關閉了,請幫忙檢查是否打開。登上平臺用以前檢查10g的方式檢查,可以檢查不了,于是從網上搜到了如下檢查方法,自己試了試,確認沒問題。謝謝這位朋友!
手工停止自動收集統計信息任務
在的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
總結
以上是生活随笔為你收集整理的关闭oracle自动统计,禁用oracle 11g 的统计数据自动功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle同义词truncate,详解
- 下一篇: 和借呗一样靠谱的网贷 了解这几家就可以