sql_trace相關指令碼
SQL Trace
SQL_TRACE是Oracle提供的用於進行SQL跟蹤的手段,是強有力的輔助診斷工具.在日常的資料庫問題診斷和解決中,SQL_TRACE是非常常用的方法。不過我們這裡主要用於描述SQL的執行過程的trace輸出。 – SQL是如何運算元據的。 – SQL執行過程中產生了那些等待時間。 – SQL執行中消耗了多少資源。 – SQL的實際執行計劃。 – SQL產生的遞迴語句。
10046:
一般來說, 使用 10046 事件得到 sql 執行計劃的步驟如下: 1)啟用當前 session 10046 事件 2)在當前 session 中執行 sql 語句 3)關閉當前 session 10046 事件 按照收集資訊的內容分為以下等級: 1) Level 0: 停用sql跟蹤,相當於SQL_TRACE=FALSE 2) Level 1:標準SQL跟蹤,相當於SQL_TRACE=TRUE 3) Level 4:在level1d的基礎上增加繫結變數的資訊 4) Level 8: 在level1d的基礎上增加等待事件的資訊 5) Level 12: 在level1d的基礎上增加繫結變數和等待事件的資訊 命令如下: alter session set events '10046 trace name context forever,level n'; --1、10046跟蹤當前會話 alter session set tracefile_identifier='event 10046'; alter session set events '10046 trace name context forever, level 12'; run your sql; alter session set events '10046 trace name context off'; --2、10046跟蹤其他會話 --獲取相關會話的sid,sieral#後執行以下命令跟蹤 exec dbms_system.set_ev(sid,serial#,10046,12,'username');
oradebug檢視SQL_TRACE檔案:
如果會話已經執行了,可以用oradebug --1、檢視當前會話trace檔案 oradebug setmypid oradebug tracefile_name --檢視trace檔名及位置 --2、檢視其他會話trace檔案 select s.sql_trace,s.sql_trace_waits,s.sql_trace_binds,traceid,tracefile from v$session s join v$process p on (p.addr=s.paddr) where s.sid=&sid and s.serial#=&serial; --3、解析trace檔案 tkprof /home/oracle/nwppdb_ora_21793.trc out.txt aggregate=yes sys=no waits=yes sort=fchela
systemstate dump:
sqlplus -prelim / as sysdba oradebug setmypid oradebug unlimit; oradebug dump systemstate 266; --wait for 1 min oradebug dump systemstate 266; --wait for 1 min oradebug dump systemstate 266; oradebug tracefile_name;
Hanganalyze:
oradebug setmypid oradebug unlimit; oradebug dump hanganalyze 3 --wait for 1 min oradebug dump hanganalyze 3 --wait for 1 min oradebug dump hanganalyze 3 oradebug tracefile_name;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70021989/viewspace-2985568/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 刪除 AP 發票相關指令碼指令碼
- 關於Solidity指令碼相關環境配置及指令碼資料的查詢Solid指令碼
- vim的相關指令
- Linux相關的操作指令Linux
- Linux執行python相關指令LinuxPython
- 計算機指令集的相關概念計算機
- 關於群起kafka指令碼Kafka指令碼
- 在ubuntu中查詢與某指令碼或某裝置相關的程序Ubuntu指令碼
- Android密碼學相關Android密碼學
- Oracle診斷案例-Sql_traceOracleSQL
- 原碼反碼補碼的相關理解
- 二維碼相關工具類
- Android 二維碼相關(二)Android
- Android 二維碼相關(一)Android
- Spring中AOP相關原始碼解析Spring原始碼
- 自編碼器及其相關模型模型
- 關於 Bash 指令碼中 Shebang 的趣事指令碼
- 關係錶轉dooris 的java 指令碼Java指令碼
- 利用Bash指令碼監控Linux伺服器的記憶體使用情況的相關資料指令碼Linux伺服器記憶體
- 面試之Java String 編碼相關面試Java
- 網站原始碼的相關知識網站原始碼
- NNLM初認識以及相關程式碼
- 驗證碼的作用和相關技術
- SpringBoot(一)啟動相關【死磕原始碼】Spring Boot原始碼
- git 使用者名稱密碼相關Git密碼
- ArrayList相關方法介紹及原始碼分析原始碼
- 從原始碼角度看CPU相關日誌原始碼
- Flutter Android 端 FlutterView 相關流程原始碼分析FlutterAndroidView原始碼
- 機器碼 指令 組合語言 的關係機器碼組合語言
- 關於前端指令碼異常監控的思考前端指令碼
- PHP相關PHP
- AndroidJNI相關Android
- 【Unity】相關Unity
- PDN相關
- Linux相關Linux
- Git相關Git
- Cookie相關Cookie
- 硬碟相關硬碟