提取oracle awr報告

2022-04-03 09:14:40 字數 1970 閱讀 3252

做效能測試時有時需要分析sql的執**況,以找出需要優化的sql,oracle資料庫就提供了很好的資料庫狀態和sql執**況的監控平台,資料庫的監控平台可以時時的監控資料庫的狀態,同時還可以取監控的時間段生成awr報告,來分析指定時間段的資料庫的執行狀態。

awr報告其實就是取的資料庫中兩個快照之間資料,形成了乙個報告的形式,通過資料的方式更加直觀的展示所選兩個快照之間資料庫的執行狀態。

awr報告的提取方式我知道的有兩種,一種是通過命令列提取,一種是從oracle資料庫的控制台中指定兩個快照來生成(前提是資料庫開啟了控制台,位址一般為「http://localhost:1158/em」),下面記錄通過命令列提取awr報告的過程。

1、在命令列鏈結資料庫

# sqlplus /nolog --

使用無使用者的方式連線

sql>conn sysdba; --

連線超級管理員

2、oracle資料預設是儲存7天的快照資訊的,預設的取樣間隔為1小時(儲存時長和取樣週期可以根據自己需要設定),這個資訊可以從dba_hist_wr_control檢視中獲得:

1 sql>col snap_interval for

a202 sql>col retention for

a203 sql>

select

*from

dba_hist_wr_control;

4 snap_interval=+

00000

01:00:00.0

表示取樣間隔是1小時

5 retention=+

00007

00:00:00.0

表示取樣資料保留期限是7天67

關於dba_hist_wr_control檢視的更多參考可參見oracle官方文件

8 /b14237/statviews_3202.htm#refrn23462

3、提取兩個快照之間的awr報告

1 sql>@?/rdbms/admin/

awrrpt.sql

2specify the report type:「html」3--

選擇檢視快照的時間,不能超過最大保留時間;4--

輸入快照的起始和結束節點,如下:

5 enter value for end_snap: 1265

6end snapshot id specified: 1265

78 定義報告的名稱;

910 注意:生成awr報告在命令列的當前目錄下

備註:oracle預設是不會生成第乙個快照的,沒有第乙個快照就不會按照時間間隔來生成快照記錄,如果檢測資料沒有記錄快照,請收到建立乙個快照,然後資料庫就會自動根據設定的週期記錄快照了。手動生成和刪除快照的指令如下:

1

建立和刪除基線

2exec dbms_workload_repository.create_baseline(start_snap_id => xx,end_snap_id => xx ,baseline_name =>

'base line');

3查詢基線

4select baseline_name,start_snap_id,end_snap_id from

dba_hist_baseline;

5刪除基線

6exec dbms_workload_repository.drop_baseline(baseline_name =>

'base line

',cascade

=>

true); 78

建立和刪除快照

9exec

dbms_workload_repository.create_snapshot();

10exec dbms_workload_repository.drop_snapshot_range(low_snap_id => xx ,high_snap_id => xx ); xx表示snap id

Oracle AWR報告型別

sql oracle home rdbms admin awrrpt.sql sql oracle home rdbms admin awrrpti.sql 如果乙個節點down機了,那麼可以從另外乙個節點等上去執行這個指令碼做,down機節點的awr報告 sql oracle home rdbms...

Oracle AWR報告筆記

dos 下輸入 1 sqlplus system oracle as sysdba 2 sql rdbms admin awrrpt.sql 3 輸入 report type 的值 html 報告格式,還可以是text 4 輸入 num days 的值 3 假設是3天 5 輸入 begin snap...

oracle AWR報告檢視分析

檢視資料庫執行的總體情況 從圖中可以看出 這是乙個雙節點的rac中的乙個節點的awr報告。資料庫版本為 11.2.0.4.0 平台為linux x86 64 有72顆cpu共144個核心數 一小時內產生了兩份快照 一小時內db time為4910 所以,可以計算出這個快照週期內資料庫負載為 4910...