Oracle數(shù)據(jù)庫AWR的使用實例詳解
上次我們介紹了:Oracle數(shù)據(jù)庫中AWR的組成及工作原理的詳細(xì)介紹,本文我們詳細(xì)介紹一下AWR的使用,接下來就讓我們來一起了解一下這部分內(nèi)容。
AWR由ORACLE自動產(chǎn)生,但是也可以通過DBMS_WORKLOAD_REPOSITORY包來手工創(chuàng)建、刪除和修改??梢允褂胐esc命令查看該包中的過程。下面只介紹幾個常用的:
1.手工創(chuàng)建一個快照
- 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.修改采集時間和統(tǒng)計信息保留時間
- PROCEDURE MODIFY_SNAPSHOT_SETTINGS
- 參數(shù)名稱類型輸入/輸出默認(rèn)值?
- ------------------------------ ---
- RETENTION NUMBER IN DEFAULT
- INTERVAL NUMBER IN DEFAULT
- TOPNSQL NUMBER IN DEFAULT
- DBID NUMBER IN DEFAULT
通過修改retention參數(shù)可以修改awr信息的保留期限。默認(rèn)的是七天,最小的值是一天。如果把retention設(shè)置為零,自動清除就關(guān)閉了.如果awr發(fā)現(xiàn)sysaux空間不夠,它通過刪除那些最老部分的快照來重新使用這些空間.同時,也會給dba發(fā)一條警告,告訴sysaux空間不夠了(在警告日志中)。
通過修改interval參數(shù)可以修改awr信息的采樣頻率。最小的值是10分鐘,默認(rèn)的是60分鐘.典型的值是10,20,30,60,120等等。把interval設(shè)為0則關(guān)閉自動捕捉快照.如將收集間隔時間改為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.設(shè)置基線
基線(baseline)是一種機制,這樣你可以在重要時間的快照信息集做標(biāo)記。一個基線定義在一對快照之間,快照通過他們的快照序列號識別.每個基線有且只有一對快照。
一次典型的性能調(diào)整實踐從采集量度的基準(zhǔn)線集合、作出改動、然后采集另一個基準(zhǔn)線集合開始??梢员容^這兩個集合來檢查所作的改動的效果。在 AWR 中,對現(xiàn)有的已采集的快照可以執(zhí)行相同類型的比較。
假定一個名稱為 apply_interest 的高度資源密集的進(jìn)程在下午 1:00 到 3:00 之間運行,對應(yīng)快照 ID 95 到 98。我們可以為這些快照定義一個名稱為 apply_interest_1 的基準(zhǔn)線:
- 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 編號,作為上面指定的基準(zhǔn)線的一部分。查看現(xiàn)有的基準(zhǔn)線:
- 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>
在一些調(diào)整步驟之后,我們可以創(chuàng)建另一個基準(zhǔn)線 — 假設(shè)名稱為 apply_interest_2,然后只為那些與這兩條基準(zhǔn)線相關(guān)的快照比較量度。
- SQL> exec dbms_workload_repository.create_baseline(92, 94, 'apply_interest_2');
- PL/SQL 過程已成功完成。
像這樣把快照分隔在僅僅幾個集合中有助于研究調(diào)整對于性能量度的影響。您可以在分析之后使用 drop_baseline() 來刪除基準(zhǔn)線;快照將保留(也可級聯(lián)刪除)。此外,當(dāng)清除例程開始刪除舊的快照時,與基準(zhǔn)線相關(guān)的快照不會被清除,從而允許進(jìn)行進(jìn)一步的分析。
5.刪除基線
如果要刪除一個基準(zhǔn)線:
- 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>
以上就是一些Oracle數(shù)據(jù)庫AWR的使用的詳細(xì)操作,本文就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】