关闭oracle自动统计,禁用oracle 11g 的统计数据自动功能
背景:一同事打電話說,懷疑某平臺的11G rac的統(tǒng)計信息功能關(guān)閉了,請幫忙檢查是否打開。登上平臺用以前檢查10g的方式檢查,可以檢查不了,于是從網(wǎng)上搜到了如下檢查方法,自己試了試,確認(rèn)沒問題。謝謝這位朋友!
手工停止自動收集統(tǒng)計信息任務(wù)
在的11g版本中提供了統(tǒng)計數(shù)據(jù)自動收集的功能。在部署安裝11g Oracle軟件過程中,其中有一個步驟便是提示是否啟用這個功能(默認(rèn)是啟用這個功能)。這個功能貌似帶來了統(tǒng)計數(shù)據(jù)采集上的便捷,但是其中卻隱藏著性能隱患。在7*24小時的系統(tǒng)中這種自動運(yùn)行的任務(wù)很有可能對系統(tǒng)性能帶來沖擊。
1、查看自動收集統(tǒng)計信息的任務(wù)及狀態(tài)
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”便是我們要尋找的自動收集統(tǒng)計信息的任務(wù)名稱,它的狀態(tài)目前是啟用狀態(tài)。
2、禁止自動收集統(tǒng)計信息的任務(wù)
使用DBMS_AUTO_TASK_ADMIN包完成這個任務(wù)。
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”任務(wù)已經(jīng)被禁用,目的達(dá)到。
3、啟用自動收集統(tǒng)計信息的任務(wù)
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中查看收集統(tǒng)計信息作業(yè)的方法
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中查看收集統(tǒng)計信息作業(yè)的方法
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
總結(jié)
以上是生活随笔為你收集整理的关闭oracle自动统计,禁用oracle 11g 的统计数据自动功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle同义词truncate,详解
- 下一篇: oracle12c分页,ArcSDE10