Oracle-AWR性能报告解读
概述
關(guān)于如何獲取awr以及兩個(gè)時(shí)間段的awr比對報(bào)告請參考如下博文
Oracle-使用awrrpt.sql生成AWR報(bào)告
Oracle-awrddrpt.sql比較兩個(gè)AWR差異報(bào)告
AWR
手動(dòng)執(zhí)行一個(gè)快照:
Exec dbms_workload_repository.create_snapshot;創(chuàng)建一個(gè)AWR 基線
Exec DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(start_snap_id,end_snap_id ,baseline_name);數(shù)據(jù)從哪里來,放哪里去
參數(shù)設(shè)置
請?jiān)L問
Oracle-AWR管理包
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS
對應(yīng)進(jìn)程
若是mmon若hang則意味著AWR不可用
AWR主要是MMON(Manageability Monitor Process)和它的小工進(jìn)程(m00x)
MMON的功能包括:
1.啟動(dòng)slave進(jìn)程m00x去做AWR快照
2.當(dāng)某個(gè)度量閥值被超過時(shí)發(fā)出alert告警
3.為最近改變過的SQL對象捕獲指標(biāo)信息
其他腳本
使用@?/rdbms/admin/awrddrpt可以生成AWR比對報(bào)告
使用@?/rdbms/admin/awrgrpt可以生成RAC 全局AWR報(bào)告
使用@?/rdbms/admin/ashrpt.sql可以生成ASH報(bào)告
單實(shí)例下使用@/rdbms/admin/addmrpt.sql可以生成addm自診斷報(bào)告
RAC環(huán)境下生成指定實(shí)例的addm報(bào)告使用addmrpti.sql腳本
Oracle10g中推出了新的優(yōu)化診斷工具:數(shù)據(jù)庫自動(dòng)診斷監(jiān)視工具(Automatic Database Diagnostic Monitor :ADDM)和SQL優(yōu)化建議工具(SQL Tuning Advisor: STA)。這兩個(gè)工具的結(jié)合使用,能使DBA節(jié)省大量優(yōu)化時(shí)間,也大大減少了系統(tǒng)宕機(jī)的危險(xiǎn)。簡單點(diǎn)說,ADDM就是收集相關(guān)的統(tǒng)計(jì)數(shù)據(jù)到自動(dòng)工作量知識庫(Automatic Workload Repository :AWR)中,而STA則根據(jù)這些數(shù)據(jù),給出優(yōu)化建議。
報(bào)告解讀
我們獲取了2018-03-30 0點(diǎn)到01點(diǎn)的AWR報(bào)告。我們來逐段分析下
數(shù)據(jù)庫基本信息
第一行展示了數(shù)據(jù)庫本身相關(guān)的信息:DB Name, DB Id , Instance Name, 數(shù)據(jù)庫啟動(dòng)時(shí)間,以及版本和是否為RAC模式,沒什么可多說的,很直觀
第二行展示了數(shù)據(jù)庫主機(jī)相關(guān)的信息:HostName,操作系統(tǒng)、CPU數(shù)量、內(nèi)核數(shù)量、CPU Sockets和內(nèi)存
http://kodango.com/cpu-topology
如果你只知道CPU這么一個(gè)概念,那么是無法理解CPU的拓?fù)涞摹J聦?shí)上,在NUMA架構(gòu)下,CPU的概念從大到小依次是:Node、Socket、Core、Processor。
隨著多核技術(shù)的發(fā)展,我們將多個(gè)CPU封裝在一起,這個(gè)封裝一般被稱為Socket(插槽的意思,也有人稱之為Packet,不知到哪個(gè)更加準(zhǔn)確?),而Socket中的每個(gè)核心被稱為Core。為了進(jìn)一步提升CPU的處理能力,Intel又引入了HT(Hyper-Threading,超線程)的技術(shù),一個(gè)Core打開HT之后,在OS看來就是兩個(gè)核,當(dāng)然這個(gè)核是邏輯上的概念,所以也被稱為Logical Processor,本文簡稱為Processor。
綜上所述,一個(gè)NUMA Node可以有一個(gè)或者多個(gè)Socket,一個(gè)多核Socket顯然包含多個(gè)Core,一個(gè)Core如果打開HT則變成兩個(gè)Logical Processor。Logical processor只是OS內(nèi)部看到的,實(shí)際上兩個(gè)Processor還是位于同一個(gè)Core上,所以頻繁的調(diào)度仍可能導(dǎo)致資源競爭,影響性能。
該圖引用至http://fishcried.com/2015-01-09/cpu_topology/
第三行展示了快照時(shí)間內(nèi)的數(shù)據(jù)庫統(tǒng)計(jì)信息,很重要
包括Sessions 總數(shù) ,Cursors/Session:平均每個(gè)session打開了多少cursor
Elapsed 逝去時(shí)間、DBTime,超級重要的指標(biāo)
Elapsed 快照逝去時(shí)間,如果為了診斷特定時(shí)段性能問題則不宜過長,一般15 分鐘~2 、3 個(gè)小時(shí)。如果是看全天負(fù)載那么可以長一些。較為常見是60分鐘或者120分鐘,根據(jù)實(shí)際需求,無標(biāo)準(zhǔn)。
Cursors/session : open_cursors 如果設(shè)置的不合理會(huì)引起ORA-01000: maximum open cursors exceeded問題
總結(jié)
以上是生活随笔為你收集整理的Oracle-AWR性能报告解读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle启动和停止的方式详解
- 下一篇: Docker容器导入导出