標籤:awr
ASH(Active Session History)
ASH以V$SESSION為基礎,每秒採樣一次,記錄活動會話等待的事件。不活動的會話不會採樣,採樣工作由新引入的後台進程MMNL來完成。ASH buffers 的最小值為1MB,最大值不超過30MB.記憶體中記錄資料。期望值是記錄一小時的內容。
AWR(Automatic Workload Repository)
自動工作負載資訊庫
ASH 記憶體記錄資料始終是有限的,為了儲存曆史資料,引入了自動負載資訊庫(AutomaticWorkload Repository ,AWR) 由後台進程MMON週期性將ASH資訊同步到AWR負載庫中。ASH全部寫出是不可接受的,所以一般唯寫入收集的10%的資料量,而且使用direct-path insert完成,盡量減少日誌的產生,從而最小化資料庫效能影響。
寫出到AWR負載庫的ASH資訊記錄在AWR的基礎資料表wrh$active_session_hist中,wrh$active_session_hist是一個分區表,Oracle會自動進行資料清理。
AWR 是Oracle安裝好後自動啟動的,不需要特別的設定。收集的統計資訊儲存在SYSAUX資料表空間SYS模式下,以WRM$_*和WRH$_*的格式命名,預設會保留最近7天收集的統計資訊。每個小時將收集到的資訊寫到資料庫中,這一系列操作是由一個叫MMON的進程來完成的。
snapshot的組建循環是每小時,資料保留8天。
手工執行快照
Exec dbms_workload_repository.create_snapshot;
可以通過視圖查詢
SQL> select * from DBA_HIST_WR_CONTROL; DBID SNAP_INTERVAL RETENTION TOPNSQL---------- --------------------------------------------------------------------------- --------------------------------------------------------------------------- ------------------------------1417794109 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT
可以使用DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS來修改snap_interval 和retention。
ADDM (Automatic Database Diagnostic Monitor AWR)
Oracle內部的一個顧問系統,能夠自動的完成最資料庫的一些最佳化的建議,給出SQL的最佳化,索引的建立,統計量的收集等建議。每當產生一次AWR的snapshot時,系統會自動根據當前snapshot和上一次的snapshot,給出一個ADDM報告。ADDM報告只顯示系統任務有問題的項目。
產生ash報告
SQL> @?/rdbms/admin/ashrpt.sql
EM->Performance650) this.width=650;" src="https://192.168.199.163:1158/em/cabo/images/t.gif" width="5" height="1" style="font-family:Arial, Helvetica, Geneva, sans-serif;font-size:13.3333330154419px;font-weight:bold;background-color:rgb(255,255,255);" alt="t.gif" />->Average Active Sessions的右上方[Run ASH Report]
產生awr報告
SQL> @?/rdbms/admin/awrrpt.sql
快照之間執行個體不能關閉。
建立baseline
ExecDBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(start_snap_id,end_snap_id ,baseline_name);
awr比對報告
@?/rdbms/admin/awrddrpt
RAC全域awr
@?/rdbms/admin/awrgrpt
本文出自 “叮咚” 部落格,請務必保留此出處http://lqding.blog.51cto.com/9123978/1693935
Oracle 學習之 效能最佳化(十五) ASH、ADDM、AWR