Oracle資料庫AWR的使用例項詳解
Oracle資料庫AWR的使用例項詳解
本文我們主要介紹一下Oracle資料庫AWR的使用例項,包括建立刪除快照、修改採集時間和統計資訊保留時間、設定基線和刪除基線的操作,希望能夠對您有所幫助。
AD:
上次我們介紹了:,本文我們詳細介紹一下AWR的使用,接下來就讓我們來一起了解一下這部分內容。
AWR由ORACLE自動產生,但是也可以透過DBMS_WORKLOAD_REPOSITORY包來手工建立、刪除和修改。可以使用desc命令檢視該包中的過程。下面只介紹幾個常用的:
--預設的AWR是每小時執行一次,並且保留8天
SQL> select * from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL CON_ID
---------- ---------------------------------------------------------------------------
2478546149 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT 0
可以透過dbms_workload_repository.modify_snapshot_settings來修改收集的時間間隙,和AWR報告的保留時間。如果收集時間間隔引數設定為0會停止所有統計資料的收集。
SQL> select count(*) from wrh$_active_session_history;
COUNT(*)
----------
317
SQL> begin
2 dbms_workload_repository.create_snapshot();
3 end;
4 /
PL/SQL 過程已成功完成。
SQL> select count(*) from wrh$_active_session_history;
COUNT(*)
----------
320
2.手工刪除指定範圍的快照
SQL> select * from wrh$_active_session_history where snap_id = 96;
SNAP_ID DBID INSTANCE_NUMBER SAMPLE_ID SAMPLE_TIME
---------- ---------- --------------- ---------- ----------------------------
96 1160732652 1 236930 06-10月-07 11.26.04.562 上午
96 1160732652 1 236930 06-10月-07 11.26.04.562 上午
96 1160732652 1 236930 06-10月-07 11.26.04.562 上午
SQL> begin
2 dbms_workload_repository.drop_snapshot_range(low_snap_id => 96, high_snap_id => 96, dbid => 1160732652);
3 end;
4 /
PL/SQL 過程已成功完成。
SQL> select * from wrh$_active_session_history where snap_id = 96;
未選定行
3.修改採集時間和統計資訊保留時間
PROCEDURE MODIFY_SNAPSHOT_SETTINGS
引數名稱型別輸入/輸出預設值?
------------------------------ ---
RETENTION NUMBER IN DEFAULT
INTERVAL NUMBER IN DEFAULT
TOPNSQL NUMBER IN DEFAULT
DBID NUMBER IN DEFAULT
透過修改retention引數可以修改awr資訊的保留期限。預設的是七天,最小的值是一天。如果把retention設定為零,自動清除就關閉了.如果awr發現sysaux空間不夠,它透過刪除那些最老部分的快照來重新使用這些空間.同時,也會給dba發一條警告,告訴sysaux空間不夠了(在警告日誌中)。
透過修改interval引數可以修改awr資訊的取樣頻率。最小的值是10分鐘,預設的是60分鐘.典型的值是10,20,30,60,120等等。把interval設為0則關閉自動捕捉快照.如將收集間隔時間改為30 分鐘一次。並且保留5天時間(注:單位都是為分鐘):
SQL> select *from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- ------------------ -------------------------- -----------
1160732652 +00000 01:00:00.0 +00007 00:00:00.0 DEFAULT
SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>5*24*60);
PL/SQL 過程已成功完成。
SQL> SELECT *from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- ------------------- ------------------------- -----------
1160732652 +00000 00:30:00.0 +00005 00:00:00.0 DEFAULT
SQL>
4.設定基線
基線(baseline)是一種機制,這樣你可以在重要時間的快照資訊集做標記。一個基線定義在一對快照之間,快照透過他們的快照序列號識別.每個基線有且只有一對快照。
一次典型的效能調整實踐從採集量度的基準線集合、作出改動、然後採集另一個基準線集合開始。可以比較這兩個集合來檢查所作的改動的效果。在 AWR 中,對現有的已採集的快照可以執行相同型別的比較。
假定一個名稱為 apply_interest 的高度資源密集的程式在下午 1:00 到 3:00 之間執行,對應快照 ID 95 到 98。我們可以為這些快照定義一個名稱為 apply_interest_1 的基準線:
SQL> select *From dba_hist_baseline;
未選定行
SQL> select * from wrm$_baseline;
未選定行
SQL> exec dbms_workload_repository.create_baseline(95, 98, 'apply_interest_1');
PL/SQL 過程已成功完成。
這一操作將快照從 95 到 98 編號,作為上面指定的基準線的一部分。檢視現有的基準線:
SQL> select *from dba_hist_baseline;
DBID BASELINE_ID BASELINE_NAME START_SNAP_ID START_SNAP_TIME END_SNAP_ID END_SNAP_TIME
---------- ----------- ------------------------- ------------- ------------------------------------- ----------- ------------
1160732652 1 apply_interest_1 95 06-10月-07 11.00.05.375 上午 98 06-10月-07 01.44.58.062 下午
SQL> select *from wrm$_baseline;
DBID BASELINE_ID BASELINE_NAME START_SNAP_ID END_SNAP_ID
---------- ----------- ---------------------------- ------------- -----------
1160732652 1 apply_interest_1 95 98
SQL>
在一些調整步驟之後,我們可以建立另一個基準線 — 假設名稱為 apply_interest_2,然後只為那些與這兩條基準線相關的快照比較量度。
SQL> exec dbms_workload_repository.create_baseline(92, 94, 'apply_interest_2');
PL/SQL 過程已成功完成。
像這樣把快照分隔在僅僅幾個集合中有助於研究調整對於效能量度的影響。您可以在分析之後使用 drop_baseline() 來刪除基準線;快照將保留(也可級聯刪除)。此外,當清除例程開始刪除舊的快照時,與基準線相關的快照不會被清除,從而允許進行進一步的分析。
5.刪除基線
如果要刪除一個基準線:
SQL> exec dbms_workload_repository.drop_baseline(baseline_name=>'apply_interest_1', cascade=>false);
PL/SQL 過程已成功完成。
SQL> select *from wrh$_active_session_history where snap_id in (95,96,97,98);
SNAP_ID DBID INSTANCE_NUMBER SAMPLE_ID SAMPLE_TIME
---------- ---------- --------------- ---------- -------------------------------
95 1160732652 1 235360 06-10月-07 10.56.29.872 上午
95 1160732652 1 235230 06-10月-07 10.54.19.857 上午
95 1160732652 1 233130 06-10月-07 10.19.19.478 上午
95 1160732652 1 232830 06-10月-07 10.14.18.859 上午
95 1160732652 1 232250 06-10月-07 10.04.38.481 上午
97 1160732652 1 238600 06-10月-07 12.33.08.420 下午
97 1160732652 1 238600 06-10月-07 12.33.08.420 下午
97 1160732652 1 238600 06-10月-07 12.33.08.420 下午
97 1160732652 1 238600 06-10月-07 12.33.08.420 下午
97 1160732652 1 238600 06-10月-07 12.33.08.420 下午
97 1160732652 1 238600 06-10月-07 12.33.08.420 下午
SNAP_ID DBID INSTANCE_NUMBER SAMPLE_ID SAMPLE_TIME
---------- ---------- --------------- ---------- -------------------------------
97 1160732652 1 238420 06-10月-07 11.50.55.686 上午
97 1160732652 1 238230 06-10月-07 11.47.45.687 上午
98 1160732652 1 239140 06-10月-07 01.42.00.976 下午
98 1160732652 1 239140 06-10月-07 01.42.00.976 下午
98 1160732652 1 239140 06-10月-07 01.42.00.976 下午
98 1160732652 1 239140 06-10月-07 01.42.00.976 下午
98 1160732652 1 239140 06-10月-07 01.42.00.976 下午
98 1160732652 1 239130 06-10月-07 01.27.04.161 下午
98 1160732652 1 239130 06-10月-07 01.27.04.161 下午
98 1160732652 1 239130 06-10月-07 01.27.04.161 下午
已選擇21行。
SQL> exec dbms_workload_repository.drop_baseline(baseline_name=>'apply_interest_2', cascade=>true);
PL/SQL 過程已成功完成。
SQL> select *from wrh$_active_session_history where snap_id in (92,93,94);
未選定行
SQL>
==========================================
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2136663/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle資料庫與oracle例項Oracle資料庫
- 【AWR】Oracle資料庫建立awr基線Oracle資料庫
- Sql Server資料庫開窗函式Over()的使用例項詳解SQLServer資料庫函式
- oracle資料庫建立資料庫例項-九五小龐Oracle資料庫
- 【ASK_ORACLE】Relink ASM單例項資料庫詳細步驟OracleASM單例資料庫
- oracle 11g 單例項資料庫的安裝Oracle單例資料庫
- 詳解oracle資料庫閃回Oracle資料庫
- Oracle 11G資料庫單例項安裝Oracle資料庫單例
- oracle rac 單個例項不能生成awr報告的問題Oracle
- MySQL資料庫的事務處理用法與例項程式碼詳解MySql資料庫
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- Oracle minus用法詳解及應用例項Oracle
- [轉]Oracle資料庫ASH和AWR的簡單介紹Oracle資料庫
- MariaDB資料庫的外來鍵約束例項程式碼介紹詳解資料庫
- 【資料庫資料恢復】Oracle ASM例項無法掛載的資料恢復案例資料庫資料恢復OracleASM
- 詳解Oracle AWR執行日誌分析工具Oracle
- 資料庫框架Sugar的使用詳解資料庫框架
- MySQL共享鎖:使用與例項詳解MySql
- Oracle - 資料庫名、例項名、服務名、ORACLE_SID 的說明和區別Oracle資料庫
- mongodb關閉資料庫例項MongoDB資料庫
- Oracle資料庫備份還原詳解XKUSOracle資料庫
- 設計模式使用例項(5)——建造者模式例項之資料庫連線管理設計模式資料庫
- Django資料庫類庫MySQLdb使用詳解Django資料庫MySql
- 元件例項 $el 詳解元件
- Oracle 例項和RAC叢集下資料庫日誌目錄合集Oracle資料庫
- Oracle 20C 多租戶_1.2 資料庫與例項介紹Oracle資料庫
- Oracle 資料庫巡檢指令碼 單例項 RAC 輸出HTML格式Oracle資料庫指令碼單例HTML
- 資料庫正規化與例項資料庫
- Oracle資料庫不同損壞級別的恢復詳解Oracle資料庫
- oracle 12c 資料庫例項監聽無法註冊問題一例Oracle資料庫
- ajax讀取資料庫資料程式碼例項資料庫
- MySQL和Oracle的後設資料抽取例項分析KRGXMySqlOracle
- oracle資料庫跨平臺(AIX)從RAC恢復至(linux)下的單例項Oracle資料庫AILinux單例
- Laravel 使用 Oracle 資料庫LaravelOracle資料庫
- ORACLE 資料庫11.2.0.4 單例項伺服器IO等待高問題分析Oracle資料庫單例伺服器
- 使用Eclipse連線SAP雲平臺上的HANA資料庫例項Eclipse資料庫
- 宜信資料庫實踐|解讀Oracle AWR效能分析報告,更快定位效能瓶頸資料庫Oracle
- SQL Server資料庫中Substring函式的用法例項詳解SQLServer資料庫函式
- 23_Oracle資料庫全表掃描詳解(三)Oracle資料庫