這篇文章主要講解了“怎么使用sql monitor獲取更加詳細(xì)的執(zhí)行計(jì)劃”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么使用sql monitor獲取更加詳細(xì)的執(zhí)行計(jì)劃”吧!
龍鳳網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
在數(shù)據(jù)庫(kù)上執(zhí)行SQL語(yǔ)句,執(zhí)行完畢或執(zhí)行過(guò)程中可以通過(guò)如下語(yǔ)句查詢到
SQL_ID 。
select * from v$sql
where sql_text like '%SELECT BOOK.DESCRIPTION AS%'
order by first_load_time desc ;
(2). 在數(shù)據(jù)庫(kù)上執(zhí)行如下語(yǔ)句。
select dbms_sqltune.report_sql_monitor(type=>'TEXT', sql_id=>'4t6jwa8nrg0dp',report_level=>'ALL') monitor_report from dual;
點(diǎn)擊查詢出來(lái)的"HUGECLOB"值,可以看到TEXT格式的詳細(xì)執(zhí)行計(jì)劃(最好保存
為txt后以u(píng)ltraEdit工具打開(kāi),看得比較清晰,這里不貼出來(lái))。一般在SQL運(yùn)行
后1-3分鐘內(nèi)可以取到結(jié)果,SQL執(zhí)行超過(guò)一定時(shí)間后查詢不出執(zhí)行計(jì)劃(已經(jīng)被刪除)。
注意:不是所有的SQL都會(huì)被monitor到,如果沒(méi)有看到執(zhí)行計(jì)劃,可以在SQL中加入
提示 /*+monitor*/ 強(qiáng)制對(duì)SQL進(jìn)行監(jiān)控。
-------------------------------------------------------------------
在Oracle 11g之前的版本,長(zhǎng)時(shí)間運(yùn)行的SQL可以通過(guò)監(jiān)控v$session_longops來(lái)觀察,當(dāng)某
個(gè)操作執(zhí)行時(shí)間超過(guò)6秒,就會(huì)被記錄在v$session_longops中,通??梢员O(jiān)控到全表掃描、
全索引掃描、哈希聯(lián)接、并行查詢等操作;而在Oracle 11g中,當(dāng)SQL并行執(zhí)行時(shí),會(huì)立即
被實(shí)時(shí)監(jiān)控到,或者當(dāng)SQL單進(jìn)程運(yùn)行時(shí),如果消耗超過(guò)5秒的CPU或I/O時(shí)間,它也會(huì)被監(jiān)
控到。監(jiān)控?cái)?shù)據(jù)被記錄在v$sql_monitor視圖中,也可以通過(guò)Oracle 11g新增的package
DBMS_MONITOR來(lái)主動(dòng)對(duì)SQL執(zhí)行監(jiān)控部署。
v$sql_monitor收集的信息每秒刷新一次,接近實(shí)時(shí),當(dāng)SQL執(zhí)行完畢,信息并不會(huì)立即從
v$sql_monitor中刪除,至少會(huì)保留1分鐘,v$sql_plan_monitor視圖中的執(zhí)行計(jì)劃信息
也是每秒更新一次,當(dāng)SQL執(zhí)行完畢,它們同樣至少被保留1分鐘。查看執(zhí)行計(jì)劃type有
多種:
type=>'TEXT'
type=>'HTML'
type=>'ACTIVE'
-------------------------------------------------------------------
感謝各位的閱讀,以上就是“怎么使用sql monitor獲取更加詳細(xì)的執(zhí)行計(jì)劃”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么使用sql monitor獲取更加詳細(xì)的執(zhí)行計(jì)劃這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!