使用sql monitor獲取更加詳細的執行計劃 - dbms_sqltune.report_sql_monitor
在資料庫上執行SQL語句,執行完畢或執行過程中可以透過如下語句查詢到
SQL_ID 。
select * from v$sql
where sql_text like '%SELECT BOOK.DESCRIPTION AS%'
order by first_load_time desc ;
(2). 在資料庫上執行如下語句。
select dbms_sqltune.report_sql_monitor(type=>'TEXT', sql_id=>'4t6jwa8nrg0dp',report_level=>'ALL') monitor_report from dual;
點選查詢出來的"HUGECLOB"值,可以看到TEXT格式的詳細執行計劃(最好儲存
為txt後以ultraEdit工具開啟,看得比較清晰,這裡不貼出來)。一般在SQL執行
後1-3分鐘內可以取到結果,SQL執行超過一定時間後查詢不出執行計劃(已經被刪除)。
注意:不是所有的SQL都會被monitor到,如果沒有看到執行計劃,可以在SQL中加入
提示 /*+monitor*/ 強制對SQL進行監控。
-------------------------------------------------------------------
在Oracle 11g之前的版本,長時間執行的SQL可以透過監控v$session_longops來觀察,當某
個操作執行時間超過6秒,就會被記錄在v$session_longops中,通常可以監控到全表掃描、
全索引掃描、雜湊聯接、並行查詢等操作;而在Oracle 11g中,當SQL並行執行時,會立即
被實時監控到,或者當SQL單程式執行時,如果消耗超過5秒的CPU或I/O時間,它也會被監
控到。監控資料被記錄在v$sql_monitor檢視中,也可以透過Oracle 11g新增的package
DBMS_MONITOR來主動對SQL執行監控部署。
v$sql_monitor收集的資訊每秒重新整理一次,接近實時,當SQL執行完畢,資訊並不會立即從
v$sql_monitor中刪除,至少會保留1分鐘,v$sql_plan_monitor檢視中的執行計劃資訊
也是每秒更新一次,當SQL執行完畢,它們同樣至少被保留1分鐘。檢視執行計劃type有
多種:
type=>'TEXT'
type=>'HTML'
type=>'ACTIVE'
-------------------------------------------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2558328/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 獲取oracle sql語句詳細些執行計劃OracleSQL
- 執行計劃-1:獲取執行計劃
- 【執行計劃】Oracle獲取執行計劃的幾種方法Oracle
- 達夢資料庫獲取SQL真實的執行計劃資料庫SQL
- 獲取執行計劃之Autotrace
- 微課sql最佳化(9)、如何獲取執行計劃SQL
- MySQL explain執行計劃詳細解釋MySqlAI
- 理解索引:MySQL執行計劃詳細介紹索引MySql
- Oracle sql執行計劃OracleSQL
- Laravel 獲取執行的sql語句LaravelSQL
- 如何檢視SQL的執行計劃SQL
- 在MySQL中使用explain查詢SQL的執行計劃MySqlAI
- Oracle SQL Profile固定執行計劃的方法OracleSQL
- Explain執行計劃詳解AI
- 詳細介紹C++多執行緒獲取返回值的方法C++執行緒
- MySQL優化從執行計劃開始(explain超詳細)MySql優化AI
- MySQL——通過EXPLAIN分析SQL的執行計劃MySqlAI
- mysql explain 執行計劃詳解MySqlAI
- MySQL Explain執行計劃 - 詳解MySqlAI
- 簡單實現Laravel獲取當前執行的SQLLaravelSQL
- 執行計劃-4:謂詞的選擇時機與使用細節
- SQL執行計劃異常引起的效能問題SQL
- SQL執行計劃異常 引起的效能問題SQL
- 獲取Tomcat更詳細的日誌Tomcat
- iphone 獲取地址的詳細資訊iPhone
- SQLServer統計監控SQL執行計劃突變的方法SQLServer
- 分析執行計劃優化SQLORACLE的執行計劃(轉)優化SQLOracle
- Oracle資料庫關於SQL的執行計劃(轉)Oracle資料庫SQL
- 檢視SQL執行計劃的幾種常用方法YQSQL
- Oracle檢視sql_id 的歷史執行計劃OracleSQL
- jProcesses:使用Java獲取跨平臺程式的詳細資訊Java
- SQL優化案例-從執行計劃定位SQL問題(三)SQL優化
- 檢視一個正在執行的sql的執行計劃(explain for connection processlist_id)SQLAI
- SQL最佳化案例-從執行計劃定位SQL問題(三)SQL
- TiDB與MySQL的SQL差異及執行計劃簡析TiDBMySql
- .Oracle固定執行計劃之SQL PROFILE概要檔案OracleSQL
- Oracle執行計劃Explain Plan 如何使用OracleAI
- oracle使用outline固定執行計劃事例Oracle