用oracle trace 來跟蹤session

2022-03-25 07:28:16 字數 1610 閱讀 1250

1.在資料庫安裝的電腦上,使用sql plus 用 sysdba 身份連線到資料庫.

2.找到要進行跟蹤的會話.

select sid,serial#,username from v$session ;

3.啟用相關會話的sql trace .

exec dbms_system.set_sql_trace_in_session(7,284,true)

4.從指定session 執行一些程式過程.

5.停止會話跟蹤.

exec dbms_system.set_sql_trace_in_session(7,284,false)

6.使用tkprof 程式對跟蹤到的檔案進行格式化.

tkprof aaa.trc aaa.txt

7.檢視aaa.txt就可以了.

----如果是跟蹤本session,可以用:

dbms_session.set_sql_trace(true);

dbms_session.set_sql_trace(false);

re: 用oracle trace 來跟蹤session [回覆]

sql_trace跟蹤sql語句,要使用sql_trace,必須使用sys使用者,使用sysdba身份登入,下列的命令使用sql*plus或pl/sql developer的command視窗。

以跟蹤intools為例,首先使用如下sql語句獲取intools的session資訊

select sid, serial#, username from v$session;

假設取到的intools登入session的sid = 9, serial# = 71,則執行下列命令對該session進行監聽

exec dbms_system.set_sql_trace_in_session(9,71,true)

然後操作intools,

操作完成後使用下面命令關閉監聽

exec dbms_system.set_sql_trace_in_session(9,71,false)

則在%oracle_home%admin[服務名]udump目錄下生成最新的.trc跟蹤檔案,可使用oracle提供的工具程式tkproc將.trc檔案解析為更易讀的檔案:

tkproc [.trc檔案路徑] [目標檔案路徑]

後面還可加上如下一些引數,其中比較有用的乙個排序選項是fchela,即按照elapsed timefetching來對分析的結果排序(記住要設定初始化引數time_statistics=true),生成的.prf檔案將把最消耗時間的 sql放在最前面顯示。另外乙個有用的引數就是sys,這個引數設定為no可以阻止所有以sys使用者執行的sql被顯示出來,這樣可以減少分析出來的檔案 的複雜度,便於檢視。

1.select sid,serial#,username,osuser,machine from v$session;查詢session的sid,serial#

2.exec dbms_system.set_sql_trace_in_session(141,6,true);開始跟蹤

3.exec dbms_system.set_sql_trace_in_session(141,6,false) 停止跟蹤

4.tkprof *.trc *.txt

5.檢視檔案

用oracle trace 來跟蹤session

用oracle 密碼登入 1.在資料庫安裝的電腦上,使用sql plus 用 sysdba 身份連線到資料庫.2.找到要進行跟蹤的會話.select sid,serial username from v session 3.啟用相關會話的sql trace exec dbms system.set ...

使用CoreLocation來跟蹤使用者距離

corelocation是乙個強大的framework,他能幫助開發使其免於複雜的位置處理而專注於應用邏輯的開發。然而corelocation並沒有提供的對使用者移動距離的檢測,當我們開發跑步類運動類應用時,就不可避免的需要這項功能。湊巧有乙個朋友讓我幫忙做乙個gps模組,故而就有了cylocati...

用strace工具跟蹤系統呼叫

linux下可以用strace工具檢視應用程式的系統呼叫。strace h 檢視能呼叫的引數 1.strace o xwatv.log xwatv o xwatv.log 是指定將跟蹤資訊存放在xwatv.log中,xwatv是指要跟蹤的命令或應用程式 2.把生成的log檔案拷貝回windows下進...