Oracle 11g是目前企業(yè)級數(shù)據(jù)庫應用中最常用的一種,而awr報告是其中非常重要的一項功能。通過 awr 報告,我們可以查看數(shù)據(jù)庫的各種性能指標,并將它們與以前的數(shù)據(jù)進行比較,以監(jiān)控并改進數(shù)據(jù)庫的性能。下面我們將深入了解一下 awr 報告。
首先,我們需要了解如何生成awr報告。在Oracle 11g中,我們可以使用以下命令來生成報告:
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
在使用該命令后,Oracle將會生成一個html文件,其中包含了數(shù)據(jù)庫的所有性能指標,例如硬盤使用率、cpu利用率、內存利用率等等。除此之外,我們還能從awr報告中了解到諸如等待事件、鎖定對象、I/O操作等重要信息。
舉個例子,在awr報告中,我們可以輕松查找出在一個時間段內哪個 SQL 語句消耗了最多的 CPU 或者 I/O 資源。此時,我們可以使用 Top SQL 頁面,它是 awr 報告的重點關注點之一。在該網頁中,我們將會看到消耗大量物理 I/O 的 SQL 語句,例如 which sql statement is consuming most of physical I/O。
awr報告還可以幫助我們識別數(shù)據(jù)庫的瓶頸。例如,在等待事件的頁面中,我們可以看到哪些事件是占用數(shù)據(jù)庫時間最長的。如果我們發(fā)現(xiàn)許多時間被消耗在等待 I/O 完成,就可以考慮對磁盤或 RAID 存儲進行優(yōu)化。
除了以上的用途之外,AWR報告還有很多其他的使用場景。舉例來說,我們可以利用AWR報告對數(shù)據(jù)庫程序進行性能調優(yōu),通過查看數(shù)據(jù)庫執(zhí)行計劃來識別SQL語句中的瓶頸。此外,我們還可以利用AWR報告來進行容量規(guī)劃,通過向上預測數(shù)據(jù)庫容量的使用情況,來規(guī)劃更好的數(shù)據(jù)庫架構。
在總結這篇文章之前,我們還需要知道幾個AWR報告的要點。首先,我們需要將 awr 級別設置為 6 或更高。此外,我們還需要將 awr 保留時間設置為至少 30 天,以便在 awr 報告歷史數(shù)據(jù)中查找并比較性能指標。
最后,在使用 awr 報告時,我們需要明確我們要達成的目標是什么。是否是發(fā)現(xiàn)數(shù)據(jù)庫的瓶頸,或者是優(yōu)化 SQL 查詢,或者是容量規(guī)劃?只有在明確我們的目標之后,我們才能更避免在 awr 報告中浪費時間。