Oracle中自動工作負載資訊庫(AWR)介紹
作為一個資料庫管理員,您可能已經投資購買了第三方工具或使用自己開發的工具來在資料庫執行期間採集詳細的統計資料,並從這些統計資料中匯出獲得效能量度。在緊急的情況下,您可以訪問這些量度來與當前的情況作比較。再度檢視這些過去的事件可以給當前的問題帶來一些啟發,因此不斷採集相關的統計資料對於效能分析變得很重要。
一段時間以來,Oracle 在這個領域中的解決方案是它內建的工具 Statspack。雖然某些情況下證明它是非常有價值的,但常常缺少效能故障診斷實踐所需的強健性。Oracle Database 10g 提供了一個顯著改進的工具:自動工作負載資訊庫 (AWR)。AWR 和資料庫一起安裝,不但採集統計資料,還採集匯出的量度。
快速測試驅動程式
透過執行 $ORACLE_HOME/rdbms/admin 目錄中的 awrrpt.sql 指令碼,AWR 的功能可以立即透過它從採集的統計資料和量度中生成的報表得到最好的說明。這個指令碼從外觀和感覺上類似於 Statspack,它顯示所有的現有 AWR 快照並請求兩個特定的快照作為時間間隔邊界。它產生兩種型別的輸出:文字格式(類似於 Statspack 報表的文字格式但來自於 AWR 資訊庫)和預設的 HTML 格式(擁有到部分和子部分的所有超連結),從而提供了非常使用者友好的報表。現在執行該指令碼以檢視報表,從而對 AWR 的功能有一個瞭解。
實施
現在,讓我們來看看 AWR 是如何設計和構建的。AWR 實質上是一個 Oracle 的內建工具,它採集與效能相關的統計資料,並從那些統計資料中匯出效能量度,以跟蹤潛在的問題。與 Statspack 不同,快照由一個稱為 MMON 的新的後臺程式及其從程式自動地每小時採集一次。為了節省空間,採集的資料在 7 天后自動清除。快照頻率和保留時間都可以由使用者修改。要檢視當前的設定,您可以使用下面的語句:
這些 SQL 語句顯示快照每小時採集一次,採集的資料保留 7 天。要修改設定 — 例如,快照時間間隔為 20 分鐘,保留時間為兩天 — 您可以發出以下命令。引數以分鐘為單位。
AWR 使用幾個表來儲存採集的統計資料,所有的表都儲存在新的名稱為 SYSAUX 的特定表空間中的 SYS 模式下,並且以 WRM$_* 和 WRH$_* 的格式命名。前一種型別儲存後設資料資訊(如檢查的資料庫和採集的快照),後一種型別儲存實際採集的統計資料。(您可能已經猜到,H 代表“歷史資料 (historical)”而 M 代表“後設資料 (metadata)”。)在這些表上構建了幾種帶字首 DBA_HIST_ 的檢視,這些檢視可以用來編寫您自己的效能診斷工具。檢視的名稱直接與表相關;例如,檢視 DBA_HIST_SYSMETRIC_SUMMARY 是在WRH$_SYSMETRIC_SUMMARY 表上構建的。
AWR 歷史表採集的資訊比 Statspack 多許多,這些資訊包括表空間使用率、檔案系統使用率、甚至作業系統統計資料。這些表的完整的列表可以透過以下命令從資料字典中看到:
select view_name from user_views where
view_name like 'DBA\_HIST\_%' escape '\';
檢視 DBA_HIST_METRIC_NAME 定義 AWR 採集到的重要的量度、它們所屬的組和採集它們的單位。例如,下面是一個記錄(豎直格式):
DBID : 4133493568
GROUP_ID : 2
GROUP_NAME : System Metrics Long Duration
METRIC_ID : 2075
METRIC_NAME : CPU Usage Per Sec
METRIC_UNIT : CentiSeconds Per Second
它顯示一個量度“每秒 CPU 使用率”以“每秒的釐秒數”為單位進行測量,並且該量度屬於一個量度組 “System Metrics Long Duration”。這條記錄可以和其它的表(如 DBA_HIST_SYSMETRIC_SUMMARY)結合,以獲得資料庫的活動資訊,形式如下:
select begin_time, intsize, num_interval,
minval, maxval, average, standard_deviation sd
from dba_hist_sysmetric_summary where metric_id = 2075;
BEGIN INTSIZE NUM_INTERVAL MINVAL MAXVAL AVERAGE SD
----- ---------- ------------ ------- ------- -------- ----------
11:39 179916 30 0 33 3 9.81553548
11:09 180023 30 21 35 28 5.91543912
... and so on ...
下面我們看看 CPU 時間是如何消耗的(以釐秒為單位)。標準差加入到了我們的分析中,它有助於確定平均數字是否反映了實際的工作負載。在第一條記錄中,平均值是每秒消耗 CPU 時間 3 釐秒,但標準差是 9.81,這意味著平均值 3 不能反映工作負載。在第二個例子中,平均值為 28,標準差為 5.9,這更具有代表性。這種型別的資訊趨勢有助於瞭解幾個環境引數對效能量度的影響。
一段時間以來,Oracle 在這個領域中的解決方案是它內建的工具 Statspack。雖然某些情況下證明它是非常有價值的,但常常缺少效能故障診斷實踐所需的強健性。Oracle Database 10g 提供了一個顯著改進的工具:自動工作負載資訊庫 (AWR)。AWR 和資料庫一起安裝,不但採集統計資料,還採集匯出的量度。
快速測試驅動程式
透過執行 $ORACLE_HOME/rdbms/admin 目錄中的 awrrpt.sql 指令碼,AWR 的功能可以立即透過它從採集的統計資料和量度中生成的報表得到最好的說明。這個指令碼從外觀和感覺上類似於 Statspack,它顯示所有的現有 AWR 快照並請求兩個特定的快照作為時間間隔邊界。它產生兩種型別的輸出:文字格式(類似於 Statspack 報表的文字格式但來自於 AWR 資訊庫)和預設的 HTML 格式(擁有到部分和子部分的所有超連結),從而提供了非常使用者友好的報表。現在執行該指令碼以檢視報表,從而對 AWR 的功能有一個瞭解。
實施
現在,讓我們來看看 AWR 是如何設計和構建的。AWR 實質上是一個 Oracle 的內建工具,它採集與效能相關的統計資料,並從那些統計資料中匯出效能量度,以跟蹤潛在的問題。與 Statspack 不同,快照由一個稱為 MMON 的新的後臺程式及其從程式自動地每小時採集一次。為了節省空間,採集的資料在 7 天后自動清除。快照頻率和保留時間都可以由使用者修改。要檢視當前的設定,您可以使用下面的語句:
|
這些 SQL 語句顯示快照每小時採集一次,採集的資料保留 7 天。要修改設定 — 例如,快照時間間隔為 20 分鐘,保留時間為兩天 — 您可以發出以下命令。引數以分鐘為單位。
|
AWR 使用幾個表來儲存採集的統計資料,所有的表都儲存在新的名稱為 SYSAUX 的特定表空間中的 SYS 模式下,並且以 WRM$_* 和 WRH$_* 的格式命名。前一種型別儲存後設資料資訊(如檢查的資料庫和採集的快照),後一種型別儲存實際採集的統計資料。(您可能已經猜到,H 代表“歷史資料 (historical)”而 M 代表“後設資料 (metadata)”。)在這些表上構建了幾種帶字首 DBA_HIST_ 的檢視,這些檢視可以用來編寫您自己的效能診斷工具。檢視的名稱直接與表相關;例如,檢視 DBA_HIST_SYSMETRIC_SUMMARY 是在WRH$_SYSMETRIC_SUMMARY 表上構建的。
AWR 歷史表採集的資訊比 Statspack 多許多,這些資訊包括表空間使用率、檔案系統使用率、甚至作業系統統計資料。這些表的完整的列表可以透過以下命令從資料字典中看到:
select view_name from user_views where
view_name like 'DBA\_HIST\_%' escape '\';
檢視 DBA_HIST_METRIC_NAME 定義 AWR 採集到的重要的量度、它們所屬的組和採集它們的單位。例如,下面是一個記錄(豎直格式):
DBID : 4133493568
GROUP_ID : 2
GROUP_NAME : System Metrics Long Duration
METRIC_ID : 2075
METRIC_NAME : CPU Usage Per Sec
METRIC_UNIT : CentiSeconds Per Second
它顯示一個量度“每秒 CPU 使用率”以“每秒的釐秒數”為單位進行測量,並且該量度屬於一個量度組 “System Metrics Long Duration”。這條記錄可以和其它的表(如 DBA_HIST_SYSMETRIC_SUMMARY)結合,以獲得資料庫的活動資訊,形式如下:
select begin_time, intsize, num_interval,
minval, maxval, average, standard_deviation sd
from dba_hist_sysmetric_summary where metric_id = 2075;
BEGIN INTSIZE NUM_INTERVAL MINVAL MAXVAL AVERAGE SD
----- ---------- ------------ ------- ------- -------- ----------
11:39 179916 30 0 33 3 9.81553548
11:09 180023 30 21 35 28 5.91543912
... and so on ...
下面我們看看 CPU 時間是如何消耗的(以釐秒為單位)。標準差加入到了我們的分析中,它有助於確定平均數字是否反映了實際的工作負載。在第一條記錄中,平均值是每秒消耗 CPU 時間 3 釐秒,但標準差是 9.81,這意味著平均值 3 不能反映工作負載。在第二個例子中,平均值為 28,標準差為 5.9,這更具有代表性。這種型別的資訊趨勢有助於瞭解幾個環境引數對效能量度的影響。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-609701/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle中自動工作負載資訊庫(AWR)介紹(2)Oracle負載
- Oracle10g AWR (自動工作負載資訊庫)Oracle負載
- 自動負載資訊庫:AWR的引入負載
- 自動工作負載庫(Automatic Workload Repository,AWR)負載
- 自動工作負載庫理論與操作(Automatic Workload Repository,AWR)負載
- oracle 11g自動收集統計資訊介紹Oracle
- oracle10G新特性之撤消顧問和自動工作負載倉庫Oracle負載
- 自動工作量資料檔案庫(AWR)
- oracle 10g AWR介紹(ZT)Oracle 10g
- [轉]Oracle資料庫ASH和AWR的簡單介紹Oracle資料庫
- 【AWR】Oracle awr相關檢視及體系介紹Oracle
- 負載均衡技術介紹負載
- 轉載詳細的Oracle ASH/AWR介紹及報告分析Oracle
- 負載均衡技術(一)———負載均衡技術介紹負載
- Nginx 的 TCP 負載均衡介紹NginxTCP負載
- 負載均衡技術(二)———常用負載均衡服務介紹負載
- Oracle 統計資訊介紹Oracle
- Mycat的負載均衡型別介紹負載型別
- Oracle AWR 介紹及報告分析(2) finalOracle
- Oracle AWR 介紹及報告分析(1) finalOracle
- Radware Web Server Director動態負載均衡產品介紹WebServer負載
- 介紹下Nginx 反向代理與負載均衡Nginx負載
- Oracle10g的AWR效能優化工具介紹Oracle優化
- 轉載oracle awrOracle
- awr 自動mailAI
- Oracle ADDM 自動診斷監視工具 介紹Oracle
- 使用shell自動傳送Oracle AWR報告Oracle
- iOS中的動態庫,靜態庫和framework介紹iOSFramework
- 轉載Oracle AWR速查Oracle
- 簡單介紹python自動化運維常用庫Python運維
- F5 負載均衡 網路裝置介紹負載
- awr-----一份經典的負載很高的awr報告負載
- 【AWR】Oracle資料庫建立awr基線Oracle資料庫
- 自動化測試框架介紹框架
- SAE自動駕駛分級介紹自動駕駛
- Bootstrap Blazor 元件介紹 Table (一)自動生成列功能介紹bootBlazor元件
- Oracle ADDM 自動診斷監視工具介紹及使用Oracle
- Kubernetes中負載均衡功能簡介負載