[Oracle] - 效能最佳化工具(2) - ASH

來源:互聯網
上載者:User

標籤:des   blog   io   os   使用   ar   資料   sp   div   

ASH和AWR的關係ASH以V$SESSION為基礎,每秒採樣一次,記錄活動會話等待的事件。不活動的會話不會採樣,採樣工作由新引入的後台進程MMNL來完畢。
ASH記憶體記錄資料始終是有限的,為了儲存曆史資料,引入了自己主動負載資訊庫(Automatic Workload Repository ,AWR) 由後台進程MMON完畢。ASH資訊相同被採集寫出到AWR負載庫中。因為記憶體是有限的,所以MMNL進程在ASH寫滿後會將資訊寫出到AWR負載庫中。ASH也不是寫出所有資料導AWR,所一般僅僅寫入收集的10%的資料量,並且使用direct-path insert完畢,盡量降低日誌的產生,從而最小化資料庫效能影響。

總結一下:AWR是依據snapshot採樣間隔來進行系統總體效能推斷的。而ASH的粒度更細。比方你的AWR是1小時採樣一次,可是假設一個故障只持續了5分鐘,之前和之後資料庫都正常,那麼這5分鐘究竟發生了什麼,要去看ASH。
我們在監控資料庫時,假設是當前正在發生的問題,我們能夠通過v$session+v$sqlarea來找出效能最差的SQL語句。假設在一個小時以內發生的我們能夠通過產生ASH報告來找出SQL.假設是1小時以上或幾天我們能夠通過AWR報告來找出幾小時,幾天以來最影響系統的SQL語句。ADDM報告基於AWR庫,預設能夠儲存30天的ADDM報告。
    我們也能夠直接查詢試圖:
    v$session                                     (當前正在發生)
    v$session_wait                           (當前正在發生)
    v$session_wait_history             (會話近期的10次等待事件)
    v$active_session_history          (記憶體中的ASH採集資訊,理論為1小時)
    wrh$_active_session_history    (寫入AWR庫中的ASH資訊,理論為1小時以上)
    dba_hist_active_sess_history   (依據wrh$_active_session_history產生的視圖)
ASH的產生運行例如以下指令碼產生ASH報告:
@?/rdbms/admin/ashrpt.sql1. 你是一路斷行符號,就是擷取近期15分鐘的ASH報表。2. 你依據oldest ash sample available 時間,然後斷行符號,選擇的是眼下能夠收集到的最長ASH執行情況3. 你能夠選擇Oldest ASH sample available和Latest ASH sample available之間時間,然後輸入時間長度,比方30表示30分鐘,取你要取的不論什麼時段的ASH報表
ASH報表也能夠直接手工擷取,比方select output from table(dbms_workload_repository.ash_report_html( dbid,inst_num,l_btime,l_etime);
示範範例:set pagesize 0set linesize 121spool d:\ash_rpt.htmlselect output from table(dbms_workload_repository.ash_report_html( 977587123,1,SYSDATE-30/1440,SYSDATE-1/1440));spool off--包具體參數:dbms_workload_repository.ash_report_html(l_dbid         IN NUMBER, l_inst_num     IN NUMBER, l_btime        IN DATE,l_etime        IN DATE,l_options      IN NUMBER DEFAULT 0,l_slot_width   IN NUMBER DEFAULT 0,l_sid          IN NUMBER DEFAULT NULL,l_sql_id       IN VARCHAR2 DEFAULT NULL,l_wait_class   IN VARCHAR2 DEFAULT NULL,l_service_hash IN NUMBER DEFAULT NULL,l_module       IN VARCHAR2 DEFAULT NULL,l_action       IN VARCHAR2 DEFAULT NULL,l_client_id    IN VARCHAR2 DEFAULT NULL,l_plsql_entry  IN VARCHAR2 DEFAULT NULL)

[Oracle] - 效能最佳化工具(2) - ASH

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.