elasticsearch入門系列">elasticsearch入門系列
848
2025-03-31
我寫的SQL調優專欄:https://blog.csdn.net/u014427391/article/category/8679315
整體分析調優工具
AWR:關注數據庫的整體性能的報告;
ASH:數據庫中的等待事件與哪些SQL具體對應的報告;
ADDM:oracle給出的一些建議
AWRDD:oracle針對不同時段的性能對比報告
AWRSQRPT:oracle獲取統計信息與執行計劃
不同場景對應工具
局部分析調優工具:
explain plan for
set autotrace on
statistics_level=all
直接通過sql_id獲取
10046 trace
awrrpt.sql
整體性能工具要點
AWR關注點:load profile、efficiency percentages、top 5 time events、SQL Statistics、segment_statistics
ASH關注點:等待事件與sql完美結合
ADDM:各種建議與對應SQL
AWRDD:不同時期 load profile的比較、不同時期等待事件的比較、不同時期TOP SQL的比較
AWRSQRPT:獲取與關注點(統計信息與執行計劃)
select output from table (dbms_workload_repository.awr_report_html(v_dbid,v_instance_number,v_min_snap_id,v_max_snap_id));
1
相關查詢試圖:
v$session (當前正在發生)
v$session_wait(當前正在等待)
v$session_wait_history (會話最近的10次等待事件)
v$active_session_history (內存中的ASH采集信息,理論為1小時)
wrh$_active_session_history (寫入AWR庫中的ASH信息,理論為1小時以上)
dba_hist_active_sess_history (根據wrh$_active_session_history生成的視圖)
對于局部的,比如某個頁面列表sql,我們可以使用Oracle的執行計劃進行sql調優,但是對于整個系統來說,你可以知道哪些sql比較耗時?當然可以通過查Oracle的共享池得到,不過Oracle系統本身就提供了幾種性能分析報告,比如AWR、ASH、ADDM、AWRDD等等報告,本博客介紹一下AWRDD性能分析報告
AWRDD報告是Oracle針對不同時段的性能的一個比對報告
一、ADDM報告生成
繼之前AWR、ASH方面的博客之后,https://smilenicky.blog.csdn.net/article/details/89414432,https://smilenicky.blog.csdn.net/article/details/89419185,我再寫一篇ADDM方面的博客:
1.1 工具選擇
對于Oracle數據庫可以使用sqlplus或者plsql developer客戶端軟件
sqlplus 使用
可以使用sqlplus工具登錄
進入數據庫
sqlplus / as sysdba
1
查看用戶
show parameter db_name
1
用登錄之后才可以使用
plsql developer使用
plsql developer也可以使用,登錄之后,選擇文件(File)->新建(New)->命令窗口(Command Window)
1.2 自動創建快照
開始壓測后執行
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
1
可以通過dba_hist_wr_control查看當前的配置情況,當前awr為每1小時做一次數據快照,保留時間為8天。
select * from dba_hist_wr_control;
1
修改配置,每隔30分鐘收集一次,保存1天
execute dbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>14000);
1
關閉自動收集
SQL>exec dbms_workload_repository.modify_snapshot_settings (interval=>0,retention=>24*60);
1
1.3 手工創建快照
除了自動創建快照,也可以手工創建快照
select dbms_workload_repository.create_snapshot() from dual;
1
1.4 AWRDD報告生成
對于sqlplus客戶端的可以使用
@?/rdbms/admin/awrddrpt.sql
1
對于plsql客戶端,我用絕對路徑去執行,@?的命令找不到文件
這個要根據自己的Oracle安裝路徑去修改,例如:
@D:/oracle/product/11.1.0/db_1/RDBMS/ADMIN/awrddrpt.sql
1
(1)快照報告格式
Enter value for report_type:html
有兩種格式html和txt,這里選擇html
(2)快照搜集天數
Enter value for num_days:1
快速搜集的天數,這里可以填個數字
(3)快照開始id1
Enter value for begin_snap:449
要根據日志打印的快照id范圍來填,所以我可以填寫:449
(4)快照結束id1
Enter value for end_snap:451
要根據日志打印的快照id范圍來填,所以我可以填寫:451
(5)快照收集天數2
Enter value for num_days2:1
快照收集天數,這里也可以填個數字,主要是來對比
(6)快速開始id2
Enter value for begin_snap2:450
也要在日志打印的范圍內取:這里取450
(7)快照結束id2
Enter value for end_snap2:452
也要在日志打印的范圍內取:這里取452
(8)AWRDD報告名稱
Enter value for report_name
填寫ADDM報告的名稱,我可以填寫awrdd_20190421.html,然后在打印的日志里有文件保存的路徑:,比如:D:\oracle\product\11.2.0\dbhome_1\RDBMS\ADMIN\awrddm.html
SQL> @D:/oracle/product/11.2.0/dbhome_1/RDBMS/ADMIN/awrddrpt.sql Current Instance ~~~~~~~~~~~~~~~~ DBID DBID2 DB_NAME INST_ INST_ INST_NAME ---------- ---------- ------------ ----- ----- ------------ 1525762377 1525762377 ORCL 1 1 orcl rpt_options --------- 0 Specify the Report Type ~~~~~~~~~~~~~~~~~~~~~~~ Would you like an HTML report, or a plain text report? Enter 'html' for an HTML report, or 'text' for plain text Defaults to 'html' Type Specified: html Cannot SET TRIMSPOOL Cannot SET UNDERLINE Instances in this Workload Repository schema ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DBBID INSTT DBB_NAME INSTT_NAME HOST ------------ ----- ------------ ------------ ------------ * 1525762377 1 ORCL orcl PC-201508171 906 Database Id and Instance Number for the First Pair of Snapshots ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using 1525762377 for Database Id for the first pair of snapshots Using 1 for Instance Number for the first pair of snapshots dbid --------- 1525762377 inst_num --------- 1 inst_num --------- 1 dbid --------- 1525762377 max_snap_time --------- 21/04/2019 Specify the number of days of snapshots to choose from ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Entering the number of days (n) will result in the most recent (n) days of snapshots being listed. Pressing
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
二、AWRDD報告性能分析
AWRDD的報告分析和AWR有些是類似的,不過都是不同時期的
(1) AWRDD之不同時期的load profile
(2) AWRDD之不同時期的等待事件
(3) AWRDD不同時期的TOP SQL對比
Oracle SQL
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。