您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何根據(jù)awr報(bào)告查看最慢的sql語(yǔ)句,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
當(dāng)系統(tǒng)運(yùn)行了一段時(shí)間后,系統(tǒng)基本也趨于穩(wěn)定了,SQL調(diào)優(yōu)也變了DBA的一個(gè)主要的工作內(nèi)容,很多時(shí)候都是通過(guò)查看awr報(bào)告來(lái)檢查出有性能瓶頸的SQL語(yǔ)句,通過(guò)這個(gè)可以很清晰的看到具體運(yùn)行多少時(shí)間、次數(shù)、CPU、IO的比例。
但是每次都去查看awr報(bào)告是一件很繁瑣的事情,如果可以單獨(dú)的查看哪些有問(wèn)題的sql,就不用每次都去生成一個(gè)awr報(bào)告了。dba_hist_sqlstat這個(gè)視圖記錄了每次snap_id里面的sql信息,這里幫大家把整個(gè)腳本編寫出來(lái)了。
點(diǎn)擊(此處)折疊或打開(kāi)
SELECT v.SQL_TEXT,m.* FROM (select distinct snap_id,
sql_id,
EXECUTIONS_DELTA,
trunc(max(ELAPSED_TIME_DELTA)
OVER(PARTITION BY snap_id, sql_id) / 1000000,
0) max_elapsed,
trunc((max(ELAPSED_TIME_DELTA)
OVER(PARTITION BY snap_id, sql_id)) /
(SUM(ELAPSED_TIME_DELTA) OVER(PARTITION BY snap_id)),
2) * 100 per_total
from dba_hist_sqlstat t WHERE T.snap_id IN (SELECT MAX(snap_id) FROM dba_hist_sqlstat) ) M,v$sql v
where m.sql_id=v.sql_id and m.max_elapsed>=300
這個(gè)腳本是查找m.max_elapsed>=300(這邊的單位是秒),也是5分鐘的時(shí)間,可以根據(jù)系統(tǒng)的實(shí)際情況進(jìn)行定義;
可以看出sql_id值為d1ftvurv76hct運(yùn)行一次,這次運(yùn)行的時(shí)間為1199s,占總體消耗的36%。
【另】可以通過(guò)運(yùn)行定時(shí)job執(zhí)行這條sql語(yǔ)句,然后發(fā)送有問(wèn)題的sql信息到用戶的郵箱;
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何根據(jù)awr報(bào)告查看最慢的sql語(yǔ)句”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。