Oracle10g的AWR效能優化工具介紹
AWR報告的主要內容包括以下幾部分,
前言部分: 這是AWR報告的第一段,用於描述環境包括資料庫名,資料庫版本,是否為RAC節點, 快照報告的採集時間等。
綜述部分: 包含等待事件段,Load Profile段,例項效率統計段,Shared Pool統計段,Cache Size段, 其中最重要的是等待事件段, 它告訴我們在快照時間內資料庫遇到哪些效能瓶頸,它們將是效能調整或問題診斷的主要候選物件。以下Top Time Event資料摘自我的資料庫產生的AWR報告。
Event | Waits | Time(s) | Avg Wait(ms) | % Total Call Time | Wait Class |
CPU time |
| 17,306 |
| 99.6 |
|
db file scattered read | 19,469,037 | 4,448 | 0 | 25.6 | User I/O |
log file parallel write | 492,258 | 221 | 0 | 1.3 | System I/O |
log file sync | 253,519 | 143 | 1 | .8 | Commit |
read by other session | 421,942 | 73 | 0 | .4 | User I/O |
報告顯示”db file scattered read”是這個快照時間內最重要的等待事件,這種等待是由於會話在等待一個” multiblock IO”的完成, 通常這是由於在大表上執行全表掃描或索引快速掃描引起。接下來可以檢視哪些SQL執行這些查詢,查詢操作集中在哪些表上,檢查SQL PLAN看是否使用了索引。
SQL部分:無效的SQL語句是效能不好的主要原因,這部分對這段時間區間內的SQL按照執行時間,邏輯讀,磁碟讀等指標進行了分類和排序,和STATSPACK不同的是,從AWR報告中可以直接查到該SQL的文字和傳送請求的客戶端程式資訊,極大的提高了SQL分析的效率。
例項活動統計部分:這部分是快照期間,對例項的各個內部模組的活動和各種資源使用情況的統計,主要包括CPU使用情況,SQL*Net訊息,連結的行存取和PGA使用情況。
段統計部分:告訴哪些段(包括表和索引)在快照期間經歷最高的磁碟讀操作,這些資訊可以幫助我們決定是否需要重建索引,或對段進行分割槽來減少發生在這些資料檔案上的I/O。
AWR地一些常用操作主要包括:
修改快照的收集和儲存時間,建立Baseline,匯出並遷移AWR資料。下面介紹一下這些功能使用方法。
預設情況下AWR每隔1小時自動收集一個系統負載快照,並且此快照預設儲存一週。但Oracle10g 提供以下命令可以修改快照收集時間間隔和儲存時間。
execute dbms_workload_repository.modify_snapshot_settings(interval => 120,retention => 20160);
上述命令修改快照的收集間隔為2小時,儲存時間為兩週。
可以為AWR資料建立baseline, 儲存這些資料用於將來分析和比較。具體命令如下,
execute dbms_workload_repository.create_baseline (start_snap_id =>1, end_snap_id =>100, baseline_name => 'baseline name', dbid => yourdbid);
可以將AWR資料匯出並遷移到其它資料庫以便於以後分析。Oracle10g Release2提供兩個新工具來完成匯出和遷移。AWR資料的工作。
DBMS_SWRF_INTERNAL.AWR_EXTRACT用來匯出資料,其使用方法如下,
Begin
DBMS_SWRF_INTERNAL.AWR_EXTRACT (
dmpfile => 'awr_data.dmp',
dmpdir => 'TMP_DIR',
bid => 302,
eid => 305);
end;
其中,dmpfile引數用於指定將要匯出的AWR資料檔案的名字,dmpdir是指定存放匯出檔案的目錄路徑,bid是起始快照編號,eid是結束快照編號。
DBMS_SWRF_INTERNAL用來遷移AWR資料檔案到其他資料庫。匯入AWR資料的過程分為兩個步驟,首先使用DBMS_SWRF_INTERNAL.AWR_LOAD方法把資料匯入到一個臨時模式中,本例是AWR_TEST(也可以自己定義名稱),具體方法如下,
begin
DBMS_SWRF_INTERNAL.AWR_LOAD (
SCHNAME => 'AWR_TEST',
dmpfile => 'awr_data',
dmpdir => 'TMP_DIR');
end;
接下來把需要把AWR資料轉移到SYS模式中,操作方法如下,
exec DBMS_SWRF_INTERNAL.MOVE_TO_AWR (SCHNAME => 'TEST');這樣AWR資料的匯入工作已經完成,現在可以使用這種方法建立一個專門存放AWR資料的資料庫,用於集中管理和分析多個資料庫例項的效能統計資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84856/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javascript效能優化技巧介紹JavaScript優化
- Oracle效能優化--Latch介紹Oracle優化
- Oracle效能優化---鎖介紹Oracle優化
- 【效能優化】AWR的手工生成優化
- Oracle SQL效能優化系列介紹OracleSQL優化
- AsyncDisplayKit介紹(三)深度優化列表效能優化
- Android系統效能調優工具介紹Android
- 效能優化之達夢AWR使用優化
- javascript程式碼效能優化簡單介紹JavaScript優化
- 建立XMLHttpRequest物件效能優化簡單介紹XMLHTTP物件優化
- 高併發&效能優化(一)------總體介紹優化
- 介紹SQL Server中指定檔案位置優化效能SQLServer優化
- JVM常用調優工具介紹JVM
- MySQL MHA工具的優缺點介紹MySql
- 介紹幾種提高mysql的效能和對於sql的優化的方法MySql優化
- 效能優化之元件懶載入: Vue Lazy Component 介紹優化元件Vue
- sitespeedio前端效能測試工具介紹前端
- 效能測試:主流壓測工具介紹
- percona-toolkit效能類工具的使用介紹
- 優化mysql的效能,詳細介紹Mysql的配置my.cnf的引數優化MySql
- 【AWR】Oracle awr相關檢視及體系介紹Oracle
- oracle 10g AWR介紹(ZT)Oracle 10g
- 效能優化篇 - Performance(工具 & api)優化ORMAPI
- 高效能優秀的服務框架-dubbo介紹框架
- 效能測試的流程及常用工具介紹
- 系統級效能分析工具perf的介紹與使用
- nGrinder詳細介紹及效能工具對比
- Netflix效能監控工具Vector介紹
- 伺服器效能測試典型工具介紹伺服器
- 使用優化實用工具來優化SQL Server效能優化SQLServer
- oracle 10g awr效能收集工具的用法Oracle 10g
- 【效能優化】sqlplus中使用指令碼生成awr報告優化SQL指令碼
- Oracle10g新功能介紹Oracle
- 常用Oracle資料庫調優工具介紹Oracle資料庫
- 簡單介紹Oracle的RBO/CBO優化器Oracle優化
- [原創]SpotLight效能監控工具使用介紹
- Go 效能壓測工具之wrk介紹與使用Go
- oracle10g AWR[zt]Oracle