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