SQL_TRAC跟蹤會話的測試_20101014
測試:
確認兩個引數
SQL> show parameter timed_statistics
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
timed_statistics boolean TRUE
SQL> SHOW PARAMETER MAX_DUMP_FILE_SIZE
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_dump_file_size string UNLIMITED
這兩個已設.
跟蹤自身Session
alter session set sql_trace=true;
做sql
.....
select count(*) from user_tables;
.....
alter session set sql_trace=false;
找到tracefile
格式化Trace檔案
tkprof yzoracle_ora_9497.trc yzoracle_ora_9497.sql
這樣是可以的,但只能跟蹤自己.
嘗試跟蹤第三會話
參考網上的說明:
Session 1:
conn gzdc/gzdc2009
select sid, serial#, username from v$session where
sid =
(select sid from v$mystat where rownum=1);
SID SERIAL# USERNAME
---------- ---------- ------------------------------
14 8250 GZDC
Session 2:
conn /as sysdba
,
exec dbms_system.set_ev(14,8250,10046,1,'gzdc');
執行了這一步以後 只是對其他的會話設定了跟蹤事件的等級,並非開始跟蹤
開始跟蹤
exec dbms_system.set_sql_trace_in_session(14,8250,true);
....
在Session 1 中執行SQL 語句,Select count(*) from user_tables;
結束跟蹤
exec dbms_system.set_sql_trace_in_session(14,8250,false);
關閉會話設定
exec dbms_system.set_ev(14,8250,10046,0,'gzdc');
找到tracefile name
/opt/oracle/admin/test/udump/test_ora_21792.trc
注意這個Tracefile 來自於被跟蹤的會話,而不是跟蹤他的會話.
格式化tracefile
tkprof /opt/oracle/admin/test/udump/test_ora_21792.trc /opt/oracle/admin/test/udump/test_ora_21792.sql
檢視 /opt/oracle/admin/test/udump/test_ora_21792.sql 可以看到詳細的資訊.
如需要更詳細的資訊,可以調整跟蹤的Level
exec dbms_system.set_ev(sid,serial#,event#,level#,'name');
這樣就可以用SQL_Trace來跟蹤某個Session在某一段時間內執行的語句,即使語句語法錯誤也可跟蹤到.
但這樣有什麼用呢?
還是不能跟蹤到應用程式過來的語句,因為你不知道將是哪個會話執行這個SQL??
系統級的跟蹤又太大了,有沒有使用者級的跟蹤呢?
審計?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10248702/viewspace-675991/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle跟蹤會話Oracle會話
- 會話跟蹤技術會話
- 給會話開跟蹤會話
- oracle session(會話) 跟蹤OracleSession會話
- 會話級SQL跟蹤會話SQL
- 會話跟蹤技術Cookieless會話Cookie
- 10046 跟蹤其他會話會話
- 10046事件跟蹤會話sql事件會話SQL
- 用Oracle跟蹤診斷掛起的會話Oracle會話
- oracle 跟蹤當前使用者會話Oracle會話
- oracle10g會話跟蹤處理Oracle會話
- 會話的跟蹤以及執行計劃的獲取會話
- 利用sql_trace跟蹤一個指定會話的操作SQL會話
- 測試跟蹤工具Bugzilla介紹
- web前端學習教程:Cookie會話跟蹤技術Web前端Cookie會話
- -t【Oracle-故障管理】-Trace跟蹤會話和會話執行慢故障分析Oracle會話
- 跟谷歌測試工程師的對話谷歌工程師
- SQL效能的度量 - 會話級別的SQL跟蹤sql_traceSQL會話
- HTML5入門教程 :Cookie會話跟蹤技術HTMLCookie會話
- 使用dbms_monitor.session_trace_enable跟蹤一個會話Session會話
- 跟蹤某一會話發出的 sql 的方法來優化SQL會話SQL優化
- Golang 效能測試 (3) 跟蹤刨析 golang traceGolang
- banq老師 我想問一個很笨的問題關於#會話#跟蹤#的會話
- 四種會話追蹤技術會話
- 美國邊境官員測試區塊鏈進行證書跟蹤區塊鏈
- 手勢檢測跟蹤解決方案
- 運動目標檢測與跟蹤
- [zt] oracle跟蹤檔案與跟蹤事件Oracle事件
- oracle跟蹤檔案與跟蹤事件(zt)Oracle事件
- oracle跟蹤檔案和跟蹤事件(zt)Oracle事件
- Oracle 11g 通過登入觸發器跟蹤會話產生trace檔案Oracle觸發器會話
- 基於行跟蹤的ROWDEPENDENCIES實現資訊變化跟蹤
- RAKsmart檢測網速和跟蹤路由功能的用途路由
- git的跟蹤分支和遠端跟蹤分支學習筆記Git筆記
- SQL 的跟蹤方法traceSQL
- 關於跟蹤路由對網站監測的意義路由網站
- sqlnet跟蹤SQL
- ORACLE 跟蹤工具Oracle