標籤:moni blog oracle 收集 ati 設定 gpo system 開啟
oracle 表的統計資訊,跟他的執行計畫很有關聯
執行計畫的正常是否,跟SQL的執行速度很有關係
首先講解一下如何查看一個資料庫的是否開啟自動統計分析
1、查看參數:STATISTICS_LEVEL(在V$PARAMETER表中查看資料的情況),10g中預設為typical,只有將STATISTICS_LEVEL參數設定為ALL或者typical才能讓ORACLE識別到期的統計資訊。
2、自動表分析每天晚上10開始,那說明應該是JOB定時在處理,自動統計分析的JOB是:GATHER_STATS_JOB。
每個對象都有相應的屬性,JOB相應的屬性記錄在DBA_SCHEDULER_JOBS這個字典中。
在DBA_SCHEDULER_JOBS這個視圖中特別需要關注的,enabled這個欄位,TRUE:表示啟用,FALSE: 表示關閉
3、查看每天JOB的執行情況
通過查看DBA_SCHEDULER_JOB_RUN_DETAILS這個視圖,可以觀察自動表分析的JOB有沒有執行過 GATHER_STATS_JOB
如何開啟自動統計資訊收集
1、修改參數值
alter system set STATISTICS_LEVEL=typical;
2、啟動GATHER_STATS_JOB這個JOB
BEGIN
DBMS_SCHEDULER.DISABLE(‘GATHER_STATS_JOB‘);
END;
如何關閉統計資訊
1、修改參數值
alter system set STATISTICS_LEVEL=basic;
2、關閉GATHER_STATS_JOB這個JOB
BEGIN
DBMS_SCHEDULER.ENABLED(‘GATHER_STATS_JOB‘);
END;
監控資料的變化程度,關於增、刪、改資料的變化量
記錄在DBA_TAB_MODIFICATIONS視圖裡面。我們在查詢DBA_TAB_MODIFICATIONS視圖的時候有可能查詢不到結果,或者查詢的結果不準確,這個時候需要用DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO過程將記憶體中的資訊重新整理到該視圖中
開啟關閉oracle自動表分析