使用oracle的10046事件跟蹤SQL語句
使用oracle的10046事件跟蹤SQL語句
[@more@]我們在分析應用程式效能問題的時候,更多地需要關注其中SQL語句的執行情況,因為通常應用程式的效能瓶頸會在資料庫這邊,因此資料庫的sql語句是我們最佳化的重點。利用Oracle的10046事件,可以跟蹤應用程式所執行的SQL語句,並且得到其解析次數.執行次數,CPU使用時間等資訊。這對我們分析、定位資料庫效能問題是非常有用的。
具體的方法如下:
1、首先獲得spid、sid、serial#,machine為連線oracle的機器名
SQL> select b.spid,a.sid,a.serial#,a.machine from v$session a,v$process b where a.paddr =
b.addr and a.machine='SYS_F85';
SPID SID SERIAL# MACHINE
----------------------------------------------------------------
24722 15 196 SYS_F85
2、利用10046事件開始跟蹤
SQL>execute sys.dbms_system.set_ev(15,196,10046,1,'');
PL/SQL procedure successfully completed.
引數說明:
15:SID
196:SERIAL#
注意這裡必須以sysdba登入。
3、在應用程式中執行對資料庫的操作,比如效能較差的一些查詢、插入、刪除操作等。
4、關閉事件結束跟蹤
SQL>execute sys.dbms_system.set_ev(15,196,10046,0,'');
PL/SQL procedure successfully completed.
5、獲得產生的跟蹤檔案所在的目錄
SQL> select value from v$parameter where name = 'user_dump_dest';
VALUE
--------------------------------------------------------------------------------
/oracle/admin/ora9i/udump
轉到該目錄下可以看到生成了一個ora9i_ora_24722.trc檔案,此處的24722即SPID的值。
6、在命令列下執行oracle的tkprof命令,將ora9i_ora_24722.trc轉化為文字檔案。如:
$ tkprof ora9i_ora_24722.trc ora9i_ora_24722.sql
此時在ora9i_ora_24722.sql檔案中,就可以看到剛才執行應用程式時所執行的sql語句的執行次數、
CPU使用時間等資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/101162/viewspace-1012815/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用10046跟蹤sql語句SQL
- 透過ORADEBUG運用10046事件跟蹤SQL語句事件SQL
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- 跟蹤SQL - SQL Trace 及 10046 事件SQL事件
- 10046事件跟蹤會話sql事件會話SQL
- Oracle 10046跟蹤的使用Oracle
- oracle 使用者跟蹤 需要的sql語句總結OracleSQL
- oracle sql跟蹤 event 10046 - 轉OracleSQL
- ORACLE 10046 設定跟蹤事件後無跟蹤檔案Oracle事件
- 對使用dblink的10046事件跟蹤事件
- phalcon:跟蹤sql語句SQL
- SQL效能的度量 - 利用10046事件擴充套件SQL跟蹤SQL事件套件
- sqlplus 跟蹤sql語句SQL
- 使用10046事件跟蹤分析執行計劃事件
- mysql如何跟蹤執行的sql語句MySql
- 使用10046事件 +10704事件對索引線上重建的跟蹤事件索引
- 0624使用10035事件跟蹤無法執行的sql語句事件SQL
- SQL效能的度量 - 語句級別的SQL跟蹤autotraceSQL
- 啟用跟蹤事件10046---06事件
- 使用10046跟蹤Oracle前映象資料讀Oracle
- 【TRACE】Oracle跟蹤事件Oracle事件
- Oracle 跟蹤事件【轉】Oracle事件
- 【MySQL】如何對SQL語句進行跟蹤(trace)?MySql
- 依據錯誤號來跟蹤sql語句SQL
- [zt] oracle跟蹤檔案與跟蹤事件Oracle事件
- oracle跟蹤檔案與跟蹤事件(zt)Oracle事件
- oracle跟蹤檔案和跟蹤事件(zt)Oracle事件
- Oracle跟蹤事件 -- set eventsOracle事件
- Oracle 跟蹤事件 set eventOracle事件
- Oracle跟蹤事件和dumpOracle事件
- oracle跟蹤事件(轉載)Oracle事件
- 【最佳化】10046事件之生成跟蹤檔案事件
- [20150527]跟蹤單個sql語句.txtSQL
- 單個SQL語句的10046 traceSQL
- sql_trace 和 events 跟蹤事件SQL事件
- oracle跟蹤事件(dump)總結Oracle事件
- [zt]Oracle跟蹤事件 - set eventsOracle事件
- Oracle跟蹤事件:set events 整理Oracle事件