<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-314  評論-209  文章-0  trackbacks-0

    一、ORACLE10g自動收集統計信息--自動analyze

    Oracle Database 10g開始,Oracle在建庫后就默認創建了一個名為GATHER_STATS_JOB的定時任務,用于自動收集CBO的統計信息。

    這個自動任務默認情況下在工作日晚上10:00-6:00和周末全天開啟。調用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC收集統計信息。該過程首先檢測統計信息缺失和陳舊的對象。然后確定優先級,再開始進行統計信息。

    可以通過以下查詢這個JOB的運行情況:

     

    select * from Dba_Scheduler_Jobs where JOB_NAME ='GATHER_STATS_JOB'

    其實同在10點運行的Job還有一個AUTO_SPACE_ADVISOR_JOB:

     

    SQL> select JOB_NAME,LAST_START_DATE from dba_scheduler_jobs;

    JOB_NAME                      LAST_START_DATE

    ------------------------------ --------------------------------------

    AUTO_SPACE_ADVISOR_JOB        04-DEC-07 10.00.00.692269 PM +08:00

    GATHER_STATS_JOB              04-DEC-07 10.00.00.701152 PM +08:00

    FGR$AUTOPURGE_JOB

    PURGE_LOG                      05-DEC-07 03.00.00.169059 AM PRC

    然而這個自動化功能已經影響了很多系統的正常運行,晚上10點對于大部分生產系統也并非空閑時段。

    而自動分析可能導致極為嚴重的閂鎖競爭,進而可能導致數據庫Hang或者Crash。

    所以建議最好關閉這個自動統計信息收集功能:

     

    exec DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');

    自動化永遠而嚴重的隱患相伴隨!

     

    關閉及開啟自動搜集功能,有兩種方法,分別如下:

    方法一: 

    exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB');

    exec dbms_scheduler.enable('SYS.GATHER_STATS_JOB');

    方法二:

    alter system set "_optimizer_autostats_job"=false scope=spfile;

    alter system set "_optimizer_autostats_job"=true scope=spfile;

    Pfile可以直接修改初始化參數文件,重新啟動數據庫

    二、AWR默認通過MMON及MMNL進程來每小自動運行一次,為了節省空間,采集的數據在 7 天后自動清除。

    快照頻率和保留時間都可以由用戶修改。要查看當前的設置,您可以使用下面的語句:

    select snap_interval, retention

    from dba_hist_wr_control;

    SNAP_INTERVAL       RETENTION

    ------------------- -------------------
      +00000 01:00:00.0   +00007 00:00:00.0

     這些 SQL 語句顯示快照每小時采集一次,采集的數據保留 7 天。要修改設置 例如,快照時間間隔為 20 分鐘,保留時間為兩天 您可以發出以下命令。參數以分鐘為單位。

    begin

       dbms_workload_repository.modify_snapshot_settings (

          interval => 20,

          retention => 2*24*60

       );end;

    AWR 使用幾個表來存儲采集的統計數據,所有的表都存儲在新的名稱為 SYSAUX 的特定表空間中的 SYS 模式下,并且以 WRM$_* 和 WRH$_* 的格式命名。前一種類型存儲元數據信息(如檢查的數據庫和采集的快照),后一種類型保存實際采集的統計數據。(您可能已經猜到,H 代表“歷史數據 (historical)”而 M 代表“元數據 (metadata)”。)在這些表上構建了幾種帶前綴 DBA_HIST_ 的視圖,這些視圖可以用來編寫您自己的性能診斷工具。視圖的名稱直接與表相關;例如,視圖 DBA_HIST_SYSMETRIC_SUMMARY 是在WRH$_SYSMETRIC_SUMMARY 表上構建的。

    您的處理計劃一般是有規律的,并且通常基于您對各種事件的了解和您處理它們的經驗。現在設想相同的事情由一個引擎來完成,這個引擎采集量度并根據預先確定的邏輯來推出可能的計劃。您的工作不就變得更輕松了嗎? 現在在 Oracle Database 10g 中推出的這個引擎稱為自動數據庫診斷監控程序 (ADDM)。為了作出決策,ADDM 使用了由 AWR 采集的數據。

    在 AWR 進行的每一次快照采集之后,調用 ADDM 來檢查量度并生成建議。因此,實際上您擁有了一個一天二十四小時工作的自動數據庫管理員,它主動地分析數據并生成建議,從而把您解放出來,使您能夠關注更具有戰略意義的問題。

    快照默認是自動采集的,但您也可以按需要采集它們。所有的 AWR 功能都在程序包 DBMS_WORKLOAD_REPOSITORY 中實施。要采集一次快照,只需發出下面的命令:

    execute dbms_workload_repository.create_snapshot它立即采集一次快照,快照被記錄在表 WRM$_SNAPSHOT 中。采集的量度是針對 TYPICAL 級別的。如果您想采集更詳細的統計數據,您可以在上面的過程中將參數 FLUSH_LEVEL 設置為 ALL。統計數據自動刪除,但也可以通過調用過程 drop_snapshot_range() 來手動刪除。

    posted on 2010-12-15 15:12 xzc 閱讀(2788) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 超清首页国产亚洲丝袜| 免费人妻精品一区二区三区| 国产精品久久久亚洲| 日本久久久免费高清| 国产免费毛不卡片| 无码国产精品一区二区免费式芒果| 黄人成a动漫片免费网站| 亚洲综合无码一区二区痴汉| 噜噜噜亚洲色成人网站∨| 亚洲精品无码高潮喷水在线| 亚洲国产成人久久一区WWW| 日韩a级毛片免费观看| 91麻豆最新在线人成免费观看| 免费精品99久久国产综合精品| aaa毛片免费观看| 一个人免费观看日本www视频| 精品国产亚洲一区二区三区在线观看| 国产亚洲福利在线视频| 亚洲精品国产第1页| 亚洲色四在线视频观看| 久久亚洲免费视频| 亚洲国产无套无码av电影| 亚洲人成影院在线无码观看| 亚洲AV无码乱码精品国产| 免费亚洲视频在线观看| 免费国产真实迷j在线观看| 免费国产成人高清在线观看麻豆| 成人免费a级毛片无码网站入口 | 成人免费无毒在线观看网站 | 亚洲最大的黄色网| 亚洲mv国产精品mv日本mv| 亚洲av无码不卡久久| 国产精品亚洲精品青青青| 亚洲午夜理论片在线观看| 久久精品亚洲日本波多野结衣| 久久亚洲AV成人无码国产最大| 日韩成人精品日本亚洲| 一级做a爰性色毛片免费| a级毛片无码免费真人久久| 久操视频免费观看| www视频在线观看免费|