oracle连接工具 DBz,[Oracle] - 性能优化工具(3) - ADDM
ADDM 通過檢查和分析AWR獲取的數(shù)據(jù)來判斷Oracle數(shù)據(jù)庫(kù)中可能的問題,并給出優(yōu)化建議。
獲取ADDM的方法如下:
@?/rdbms/admin/addmrpt.sql下面可以看一個(gè)例子:
--第一步:創(chuàng)建測(cè)試用的表
drop table t cascade constraints purge;
create table t AS SELECT * FROM dba_objects ;
--第二步:快照
exec dbms_workload_repository.create_snapshot();
--第三步:模擬進(jìn)行
DECLARE
v_var number;
BEGIN
FOR n IN 1..10000
LOOP
select count(*) into v_var from t;
END LOOP;
END;
/
---第四步:再次快照
exec dbms_workload_repository.create_snapshot();
--第五步:創(chuàng)建一個(gè)優(yōu)化診斷任務(wù)并執(zhí)行
--(1)先獲取到兩次快照的ID:
select snap_id from (SELECT * FROM dba_hist_snapshot ORDER BY snap_id desc) where rownum <=2;
--(2)創(chuàng)建優(yōu)化任務(wù),并執(zhí)行:
DECLARE
task_name VARCHAR2(30) := 'ADDM_02';
task_desc VARCHAR2(30) := 'ADDM Feature Test';
task_id NUMBER;
BEGIN
dbms_advisor.create_task('ADDM', task_id, task_name, task_desc, null);
dbms_advisor.set_task_parameter(task_name, 'START_SNAPSHOT', 2033);
dbms_advisor.set_task_parameter(task_name, 'END_SNAPSHOT', 2034);
dbms_advisor.set_task_parameter(task_name, 'INSTANCE', 1);
dbms_advisor.set_task_parameter(task_name, 'DB_ID', 977587123);
dbms_advisor.execute_task(task_name);
END;
/
--第六步:查看優(yōu)化建議結(jié)果
--通知函數(shù)dbms_advisor.get_task_report可以得到優(yōu)化建議結(jié)果。
set pagesize 0
set linesize 121
spool d:\addm_rpt.html
SET LONG 1000000 PAGESIZE 0 LONGCHUNKSIZE 1000
COLUMN get_clob FORMAT a80
SELECT dbms_advisor.get_task_report('ADDM_02', 'TEXT', 'ALL') FROM DUAL;
spool off
生成的ADDM如下:
任務(wù) '任務(wù)_4125' 的 ADDM 報(bào)告
----------------------
分析時(shí)段
----
AWR 快照范圍從 1908 到 1952。
時(shí)段從 16-2月 -14 08.19.56 上午 開始
時(shí)段在 16-2月 -14 10.00.37 下午 結(jié)束
分析目標(biāo)
----
數(shù)據(jù)庫(kù) 'TEST11G' (DB ID 為 977587123)。
數(shù)據(jù)庫(kù)版本 11.2.0.1.0。
ADDM 對(duì)實(shí)例 test11g 執(zhí)行了分析, 該實(shí)例的編號(hào)為 1 并運(yùn)行于 LIANGJB-PC。
分析時(shí)段期間的活動(dòng)
---------
總數(shù)據(jù)庫(kù)時(shí)間為 26244 秒。
活動(dòng)會(huì)話的平均數(shù)量為 .53。
查找結(jié)果概要
------
說明 活動(dòng)的會(huì)話 建議案
活動(dòng)的百分比
--------- ------ ---
1 行鎖等待數(shù) .52 | 97.762
2 頂級(jí) SQL 語句 .52 | 96.742
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
查找結(jié)果和建議案
--------
查找結(jié)果 1: 行鎖等待數(shù)
受影響的是 .52 個(gè)活動(dòng)會(huì)話, 占總活動(dòng)的 97.76\%。
-------------------------------
發(fā)現(xiàn) SQL 語句正處于行鎖定等待。
建議案 1: 應(yīng)用程序分析
估計(jì)的收益為 .39 個(gè)活動(dòng)會(huì)話, 占總活動(dòng)的 72.36\%。
--------------------------------
操作
在 INDEX "LJB.GENDER_IDX" (對(duì)象 ID 為 110057) 中檢測(cè)到了嚴(yán)重的行爭(zhēng)用。使用
指定的阻塞 SQL
語句在應(yīng)用程序邏輯中跟蹤行爭(zhēng)用的起因。
相關(guān)對(duì)象
ID 為 110057 的數(shù)據(jù)庫(kù)對(duì)象。
原理
SQL_ID 為 "cafv93454t4jv" 的 SQL 語句在行鎖上被阻塞。
相關(guān)對(duì)象
SQL_ID 為 cafv93454t4jv 的 SQL 語句。
insert into t values ('M',78, 'young','TTT')
原理
具有 ID 130 和序列號(hào) 423 (在實(shí)例號(hào) 1 中) 的會(huì)話是構(gòu)成此建議案中的優(yōu)化建議
的 98% 的阻塞會(huì)話。
建議案 2: 應(yīng)用程序分析
估計(jì)的收益為 .14 個(gè)活動(dòng)會(huì)話, 占總活動(dòng)的 25.4\%。
-------------------------------
操作
在 TABLE "LJB.T" (對(duì)象 ID 為 110056) 中檢測(cè)到了嚴(yán)重的行爭(zhēng)用。使用指定的阻
塞 SQL
語句在應(yīng)用程序邏輯中跟蹤行爭(zhēng)用的起因。
相關(guān)對(duì)象
ID 為 110056 的數(shù)據(jù)庫(kù)對(duì)象。
原理
SQL_ID 為 "aycghy7dbzja1" 的 SQL 語句在行鎖上被阻塞。
相關(guān)對(duì)象
SQL_ID 為 aycghy7dbzja1 的 SQL 語句。
delete from T WHERE GENDER='M'
原理
具有 ID 130 和序列號(hào) 423 (在實(shí)例號(hào) 1 中) 的會(huì)話是構(gòu)成此建議案中的優(yōu)化建議
的 100% 的阻塞會(huì)話。
導(dǎo)致查找結(jié)果的故障現(xiàn)象:
------------
等待類 "應(yīng)用程序" 消耗了大量數(shù)據(jù)庫(kù)時(shí)間。
受影響的是 .52 個(gè)活動(dòng)會(huì)話, 占總活動(dòng)的 97.76\%。
查找結(jié)果 2: 頂級(jí) SQL 語句
受影響的是 .52 個(gè)活動(dòng)會(huì)話, 占總活動(dòng)的 96.74\%。
-------------------------------
發(fā)現(xiàn) SQL 語句消耗了大量數(shù)據(jù)庫(kù)時(shí)間。這些語句提供了改善性能的絕佳機(jī)會(huì)。
建議案 1: SQL 優(yōu)化
估計(jì)的收益為 .38 個(gè)活動(dòng)會(huì)話, 占總活動(dòng)的 71.45\%。
--------------------------------
操作
研究 INSERT 語句 (SQL_ID 為 "cafv93454t4jv"), 確定是否可以改善性能??梢岳?/p>
用此 SQL_ID 的 ASH
報(bào)告來補(bǔ)充此處給出的信息。
相關(guān)對(duì)象
SQL_ID 為 cafv93454t4jv 的 SQL 語句。
insert into t values ('M',78, 'young','TTT')
原理
SQL 在 CPU, I/O 和集群等待上花費(fèi)的時(shí)間只占其數(shù)據(jù)庫(kù)時(shí)間的 0%。因此, SQL 優(yōu)
化指導(dǎo)不適用于這種情況。請(qǐng)查看 SQL
的性能數(shù)據(jù)以找出可能的改進(jìn)方法。
原理
此 SQL 的數(shù)據(jù)庫(kù)時(shí)間由以下部分構(gòu)成: SQL 執(zhí)行占 100%, 語法分析占 0%, PL/SQL
執(zhí)行占 0%, Java 執(zhí)行占 0%。
原理
SQL_ID 為 "cafv93454t4jv" 的 SQL 語句執(zhí)行了 1 次, 每次執(zhí)行平均用時(shí) 17640
秒。
原理
等待事件 "enq: TX - row lock contention" (在等待類 "Application" 中) 消耗
了數(shù)據(jù)庫(kù)時(shí)間的
100% (該數(shù)據(jù)庫(kù)時(shí)間為處理具有 SQL_ID "cafv93454t4jv" 的 SQL 語句時(shí)所用的時(shí)
間)。
建議案 2: SQL 優(yōu)化
估計(jì)的收益為 .13 個(gè)活動(dòng)會(huì)話, 占總活動(dòng)的 25.29\%。
--------------------------------
操作
研究 DELETE 語句 (SQL_ID 為 "aycghy7dbzja1"), 確定是否可以改善性能。可以利
用此 SQL_ID 的 ASH
報(bào)告來補(bǔ)充此處給出的信息。
相關(guān)對(duì)象
SQL_ID 為 aycghy7dbzja1 的 SQL 語句。
delete from T WHERE GENDER='M'
原理
SQL 在 CPU, I/O 和集群等待上花費(fèi)的時(shí)間只占其數(shù)據(jù)庫(kù)時(shí)間的 0%。因此, SQL 優(yōu)
化指導(dǎo)不適用于這種情況。請(qǐng)查看 SQL
的性能數(shù)據(jù)以找出可能的改進(jìn)方法。
原理
此 SQL 的數(shù)據(jù)庫(kù)時(shí)間由以下部分構(gòu)成: SQL 執(zhí)行占 100%, 語法分析占 0%, PL/SQL
執(zhí)行占 0%, Java 執(zhí)行占 0%。
原理
SQL_ID 為 "aycghy7dbzja1" 的 SQL 語句執(zhí)行了 1 次, 每次執(zhí)行平均用時(shí) 7917 秒
。
原理
等待事件 "enq: TX - row lock contention" (在等待類 "Application" 中) 消耗
了數(shù)據(jù)庫(kù)時(shí)間的
100% (該數(shù)據(jù)庫(kù)時(shí)間為處理具有 SQL_ID "aycghy7dbzja1" 的 SQL 語句時(shí)所用的時(shí)
間)。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
附加信息
----
各種信息
----
等待類 "提交" 并未消耗大量數(shù)據(jù)庫(kù)時(shí)間。
等待類 "并發(fā)" 并未消耗大量數(shù)據(jù)庫(kù)時(shí)間。
等待類 "配置" 并未消耗大量數(shù)據(jù)庫(kù)時(shí)間。
等待類 "網(wǎng)絡(luò)" 并未消耗大量數(shù)據(jù)庫(kù)時(shí)間。
等待類 "用戶 I/O" 并未消耗大量數(shù)據(jù)庫(kù)時(shí)間。
會(huì)話連接和斷開連接的調(diào)用并未消耗大量數(shù)據(jù)庫(kù)時(shí)間。
對(duì) SQL 語句的硬語法分析并未消耗大量數(shù)據(jù)庫(kù)時(shí)間。
在分析時(shí)段的 99% 期間, 數(shù)據(jù)庫(kù)的維護(hù)窗口是處于活動(dòng)狀態(tài)的。
原文:http://blog.csdn.net/dbanote/article/details/26836871
總結(jié)
以上是生活随笔為你收集整理的oracle连接工具 DBz,[Oracle] - 性能优化工具(3) - ADDM的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 将某个GitLab上的项目同步到另一个G
- 下一篇: 网易云轻舟设计理念与技术选型