使用dbms_system 追蹤sql
在追尋某個sql的效能之前我們需要先從v$session檢視中找出我們需要檢視的sql的SID,serial#
SQL> select sid,serial#,username from v$session where username is not null;
SID SERIAL# USERNAME
---------- ---------- ------------------------------
139 61 SUNXIN
146 11 SYS
而後我們需要啟動dbms_system.set_sql_trace_in_session包,因為它比較耗用系統資源,使用之後一定要記得關閉
SQL> exec dbms_system.set_sql_trace_in_session(139,61,true);
PL/SQL 過程已成功完成。
而後我們在 61使用者中執行我們的sql 語句,一段時候後關閉追蹤
SQL> exec dbms_system.set_sql_trace_in_session(139,61,false);
PL/SQL 過程已成功完成。
找出我們的udump的位置
SQL> SELECT VALUE FROM V$PARAMETER WHERE NAME = 'user_dump_dest'
2 ;
VALUE
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\UDUMP
由於TRACE 檔案我們直接讀取不方便,我們使用ORACLE 自帶的工具tkprof來解析我們的sql trace
C:\Documents and Settings\Administrator>tkprof D:\oracle\product\10.2.0\admin\or
cl\udump\orcl_ora_504.trc
output = D:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_504.txt
TKPROF: Release 10.2.0.1.0 - Production on 星期五 3月 23 10:25:26 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
看下我們解析後得trace檔案
*******************************************************************************
select *
from
scott.dept
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 4 0.03 0.02 0 0 0 0
Execute 4 0.00 0.00 0 0 0 0
Fetch 8 0.00 0.00 6 32 0 16
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 16 0.03 0.03 6 32 0 16
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 62
Rows Row Source Operation
------- ---------------------------------------------------
4 TABLE ACCESS FULL DEPT (cr=8 pr=0 pw=0 time=90 us)
********************************************************************************
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 4 0.03 0.02 0 0 0 0
Execute 4 0.00 0.00 0 0 0 0
Fetch 8 0.00 0.00 6 32 0 16
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 16 0.03 0.03 6 32 0 16
Misses in library cache during parse: 1
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 16 0.00 0.01 0 0 0 0
Execute 113 0.04 0.09 0 0 0 0
Fetch 121 0.01 0.20 19 344 0 768
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 250 0.06 0.30 19 344 0 768
Misses in library cache during parse: 14
Misses in library cache during execute: 14
4 user SQL statements in session.
113 internal SQL statements in session.
117 SQL statements in session.
********************************************************************************
Trace file: D:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_504.trc
Trace file compatibility: 10.01.00
Sort options: default
1 session in tracefile.
4 user SQL statements in trace file.
113 internal SQL statements in trace file.
117 SQL statements in trace file.
16 unique SQL statements in trace file.
1044 lines in trace file.
3 elapsed seconds in trace file.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21416913/viewspace-719343/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL追蹤和事件追蹤SQL事件
- 微服務追蹤SQL(支援Isto管控下的gorm查詢追蹤)微服務SQLGoORM
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- 使用 CSS 追蹤使用者CSS
- 微服務追蹤SQL上報至Jaeger(支援Istio管控下的gorm查詢追蹤)微服務SQLGoORM
- 使用 SonarQube 追蹤程式碼問題
- 日誌追蹤
- 程式碼追蹤
- 追蹤應用程式所執行的sql語句SQL
- .gitignore的使用---vendor是否應該追蹤Git
- 追蹤使用者?只知道cookie可不夠Cookie
- OpenTelemetry分散式追蹤分散式
- 如何用網頁尾本追蹤使用者網頁
- 企業使用專案追蹤有哪些挑戰?
- 使用xhprof進行線上PHP效能追蹤及分析PHP
- 在WebGL中使用GLSL實現光線追蹤Web
- 4步追蹤導致事務日誌膨脹的SQL命令SQL
- 如何追蹤laravel動態Laravel
- 如何追蹤Java動態Java
- 如何追蹤vue動態Vue
- 如何追蹤Go動態Go
- 追蹤解析 Disruptor 原始碼原始碼
- Debug追蹤eclipseEclipse
- 路由追蹤命令詳解路由
- oracle追蹤誤操作DDLOracle
- go的鏈路追蹤Go
- The DBMS_System PackagePackage
- Centos7系統路由追蹤安裝使用教程。CentOS路由
- 使用mtrace追蹤JVM堆外記憶體洩露JVM記憶體洩露
- 軟體異常追蹤利器Bugsnag使用詳解
- MYSQL sql執行過程的一些跟蹤分析(二.mysql優化器追蹤分析)MySql優化
- SQL跟蹤工具和TKPROF使用SQL
- 跟蹤使用者的SQLSQL
- 搭建資料追蹤系統
- 如何追蹤Python動態Python
- 如何追蹤laravel動態<二>Laravel
- 追蹤解析 ThreadPoolExecutor 原始碼thread原始碼
- Tockler for Mac時間追蹤工具Mac