打開關閉oracle自動錶分析

oracle 表的統計信息,跟他的執行計劃頗有關聯數據庫

執行計劃的正常是否,跟SQL的執行速度頗有關係oracle

首先講解一下如何查看一個數據庫的是否開啓自動統計分析對象

一、查看參數:STATISTICS_LEVEL(在V$PARAMETER表中查看數據的狀況),10g中默認爲typical,只有將STATISTICS_LEVEL參數設置爲ALL或者typical才能讓ORACLE識別過時的統計信息。內存

二、自動錶分析天天晚上10開始,那說明應該是JOB定時在處理,自動統計分析的JOB是:GATHER_STATS_JOB。監控

每一個對象都有相應的屬性,JOB相應的屬性記錄在DBA_SCHEDULER_JOBS這個字典中。統計

在DBA_SCHEDULER_JOBS這個視圖中特別須要關注的,enabled這個字段,TRUE:表示啓用,FALSE: 表示關閉數據

三、查看天天JOB的執行狀況查詢

經過查看DBA_SCHEDULER_JOB_RUN_DETAILS這個視圖,能夠觀察自動錶分析的JOB有沒有執行過 GATHER_STATS_JOB字典

如何開啓自動統計信息收集參數

一、修改參數值

alter system set STATISTICS_LEVEL=typical;

二、啓動GATHER_STATS_JOB這個JOB

BEGIN

      DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');

   END;

如何關閉統計信息

一、修改參數值

alter system set STATISTICS_LEVEL=basic;

二、關閉GATHER_STATS_JOB這個JOB

BEGIN

      DBMS_SCHEDULER.ENABLED('GATHER_STATS_JOB');

   END;

 

監控數據的變化程度,關於增、刪、改數據的變化量

記錄在DBA_TAB_MODIFICATIONS視圖裏面。咱們在查詢DBA_TAB_MODIFICATIONS視圖的時候有可能查詢不到結果,或者查詢的結果不許確,這個時候須要用DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO過程將內存中的信息刷新到該視圖中

相關文章
相關標籤/搜索