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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【02】Oracle資料庫的例項啟動關閉詳解Oracle資料庫
- oracle 資料庫例項Oracle資料庫
- Sql Server資料庫開窗函式Over()的使用例項詳解SQLServer資料庫函式
- Oracle例項和Oracle資料庫Oracle資料庫
- 【AWR】Oracle資料庫建立awr基線Oracle資料庫
- oracle資料庫例項狀態Oracle資料庫
- 學用ORACLE AWR和ASH特性(3)-生成指定資料庫例項的統計報表Oracle資料庫
- oracle例項和資料庫的區別Oracle資料庫
- oracle資料庫建立資料庫例項-九五小龐Oracle資料庫
- Oracle 例項恢復詳解Oracle
- 限制oracle資料庫例項中的使用者(user)總數Oracle資料庫
- tcl/tk例項詳解——glob使用例解
- WMB 使用Compute節點連線Oracle資料庫例項Oracle資料庫
- 資料庫–如何連線RDS例項,使用雲資料庫?資料庫
- MySQL資料庫的事務處理用法與例項程式碼詳解MySql資料庫
- oracle資料庫名和例項名的區別Oracle資料庫
- 【函式】oracle translate() 詳解+例項函式Oracle
- Oracle例項和Oracle資料庫(Oracle體系結構)Oracle資料庫
- 【ASK_ORACLE】Relink ASM單例項資料庫詳細步驟OracleASM單例資料庫
- Oracle Restart啟動資料庫例項故障一例OracleREST資料庫
- 資料庫和例項資料庫
- Oracle資料庫例項啟動步驟分析Oracle資料庫
- ORACLE 單例項完全解除安裝資料庫Oracle單例資料庫
- 【AWR】資料庫診斷工具AWR使用全程記錄資料庫
- 詳解oracle資料庫閃回Oracle資料庫
- ORACLE 資料庫審計詳解Oracle資料庫
- oracle 資料庫ASM功能詳解Oracle資料庫ASM
- 資料庫框架Sugar的使用詳解資料庫框架
- oracle 11g 單例項資料庫的安裝Oracle單例資料庫
- Oracle阻塞(blockingblocked)例項詳解OracleBloC
- 詳解ORACLE資料庫的分割槽表Oracle資料庫
- 【Oracle-資料庫概念】-Oracle checkpoint詳解Oracle資料庫
- 單例項資料庫工具轉化多例項資料庫單例資料庫
- 單例項資料庫手工轉化多例項資料庫單例資料庫
- oracle例項、資料庫及相關資料庫狀態的理解和測試Oracle資料庫
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 閃回資料庫(基礎例項講解)資料庫
- 使用rman將資料庫遷移到ASM例項資料庫ASM