【Statistics】禁用11g的統計資料自動收集功能
在Oracle的11g版本中提供了統計資料自動收集的功能。在部署安裝11g Oracle軟體過程中,其中有一個步驟便是提示是否啟用這個功能(預設是啟用這個功能)。這個功能貌似帶來了統計資料採集上的便捷,但是其中卻隱藏著效能隱患。在7*24小時的系統中這種自動執行的任務很有可能對系統效能帶來衝擊。
因此,我們酌情需要禁掉這項功能。本文給出禁止自動收集統計資訊的方法。
1.檢視自動收集統計資訊的任務及狀態
sys@ora11g> 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包完成這個任務。
sys@ora11g> exec DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'auto optimizer stats collection',operation => NULL,window_name => NULL);
PL/SQL procedure successfully completed.
sys@ora11g> 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.啟用自動收集統計資訊的任務
sys@ora11g> exec DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => 'auto optimizer stats collection',operation => NULL,window_name => NULL);
PL/SQL procedure successfully completed.
sys@ora11g> select client_name,status from dba_autotask_client;
CLIENT_NAME STATUS
------------------------------------- --------
auto optimizer stats collection ENABLED
auto space advisor ENABLED
sql tuning advisor ENABLED
4.10g中查詢方法與11g中的不相同
下面是在10g中檢視收集統計資訊作業的方法
sys@ora10g> col JOB_NAME for a16
sys@ora10g> col PROGRAM_NAME for a18
sys@ora10g> col SCHEDULE_NAME for a20
sys@ora10g> col SCHEDULE_NAME for a24
sys@ora10g> col JOB_CLASS for a20
sys@ora10g> 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
注意10g中的查詢方法在11g中是不可用的。
sys@ora11g> select job_name, program_name, schedule_name, job_class from dba_scheduler_jobs where job_name = 'GATHER_STATS_JOB';
no rows selected
5.小結
再一次印證:預設值並不總是最美麗的!我們應該瞭解每一個新特性帶給我們的便捷和優勢,更重要的是我們要清醒的認識到它可能帶來的弊端和影響。請充分評估和測試後再為我所用。
Good luck.
secooler
10.12.27
-- The End --
因此,我們酌情需要禁掉這項功能。本文給出禁止自動收集統計資訊的方法。
1.檢視自動收集統計資訊的任務及狀態
sys@ora11g> 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包完成這個任務。
sys@ora11g> exec DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'auto optimizer stats collection',operation => NULL,window_name => NULL);
PL/SQL procedure successfully completed.
sys@ora11g> 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.啟用自動收集統計資訊的任務
sys@ora11g> exec DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => 'auto optimizer stats collection',operation => NULL,window_name => NULL);
PL/SQL procedure successfully completed.
sys@ora11g> select client_name,status from dba_autotask_client;
CLIENT_NAME STATUS
------------------------------------- --------
auto optimizer stats collection ENABLED
auto space advisor ENABLED
sql tuning advisor ENABLED
4.10g中查詢方法與11g中的不相同
下面是在10g中檢視收集統計資訊作業的方法
sys@ora10g> col JOB_NAME for a16
sys@ora10g> col PROGRAM_NAME for a18
sys@ora10g> col SCHEDULE_NAME for a20
sys@ora10g> col SCHEDULE_NAME for a24
sys@ora10g> col JOB_CLASS for a20
sys@ora10g> 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
注意10g中的查詢方法在11g中是不可用的。
sys@ora11g> select job_name, program_name, schedule_name, job_class from dba_scheduler_jobs where job_name = 'GATHER_STATS_JOB';
no rows selected
5.小結
再一次印證:預設值並不總是最美麗的!我們應該瞭解每一個新特性帶給我們的便捷和優勢,更重要的是我們要清醒的認識到它可能帶來的弊端和影響。請充分評估和測試後再為我所用。
Good luck.
secooler
10.12.27
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-682820/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Statistics】禁用10g的統計資料自動收集功能
- 禁用11g的統計資料自動收集功能
- 禁用oracle 11g 的統計資料自動功能Oracle
- ORACLE 11g 自動收集統計資訊Oracle
- 【Oracle】11g Oracle自動收集統計資訊Oracle
- Oracle 11g 之自動收集統計資訊Oracle
- 收集優化統計資料(Optimizer Statistics)的最佳實踐方法優化
- Oracle 11g無法自動收集統計資訊Oracle
- oracle 11g自動收集統計資訊介紹Oracle
- oracle10g如何啟用禁用自動統計資訊收集Oracle
- [統計資訊系列7] Oracle 11g的自動統計資訊收集Oracle
- 收集最佳化統計資料(Optimizer Statistics)的最佳實踐方法
- Fixed Objects Statistics統計資訊收集 - 2Object
- Oracle 11g 修改表級別的自動收集統計資訊比率Oracle
- 開啟oracle10g統計資訊自動收集功能Oracle
- Oracle統計資訊自動收集Oracle
- Oracle 11g系統自動收集統計資訊的一些知識Oracle
- ORACLE 11G 自動收集Oracle
- 關於oracle自動收集統計資訊Oracle
- Oracle10g 統計資訊的自動收集Oracle
- 關閉及開啟oracle10g統計資訊自動收集功能Oracle
- 關閉及開啟oracle10g統計資訊自動收集功能(轉)Oracle
- oracle 11g統計資訊收集Oracle
- [zt] Oracle10g 自動收集收集CBO統計資訊設定Oracle
- [筆記]statistics資訊的收集筆記
- 關閉特定物件統計資訊自動收集物件
- ORACLE10g自動收集CBO統計資訊Oracle
- 深入分割槽表的增量統計資訊收集技術(incremetal statistics collection)REM
- 優化器統計自動收集的一點總結優化
- 6 收集資料庫統計資訊資料庫
- Oracle的自動統計資訊不收集直方圖的資訊Oracle直方圖
- Oracle11g 統計資訊-----統計資訊自動收集任務Oracle
- Oracle11g 統計資訊——統計資訊自動收集任務Oracle
- 關於統計資料收集的總結
- oracle 統計資訊過期判斷和自動收集Oracle
- Win10系統禁用已計劃自動重啟的方法Win10
- Win10系統關閉“小娜自動收集個人資訊”功能的方法Win10
- Oracle 11g新特性:多列統計資訊(MultiColumn Statistics)Oracle