Oracle SQL語句追蹤


Oracle SQL語句追蹤

1   SQL語句追蹤

  追蹤SQL語句的執行過程需要在Oracle服務器端進行,Oracle服務器端會檢測並記錄訪問進程所執行的所有SQL語句。下面使用的命令都是在命令行模式下執行的,所以我們需要使用命令行以管理員身份登陸Oracle數據庫。下面就是該工具使用的詳細步驟。

  首先要追中SQL語句,我們需要確定追蹤客戶端進程的會話ID,下面命令枚舉了當前服務器所有訪問進程會話ID和串口,然后選擇需要檢測的會話ID和串口。

Select username, sid, serial# from v$session where username is not null;

  然后針對選中的會話ID和串口進行SQL語句追蹤,如下命令所示。

EXECUTE sys.dbms_system.set_sql_trace_in_session(10,  2642, TRUE);

  開始追蹤SQL語句后,我們可以在客戶端進行操作,而這些操作過程使用的SQL語句都將被記錄下來,直到我們結束SQL語句追蹤。

  最后客戶端操作完成之后,使用下面命令便可以結束SQL語句追蹤。

EXECUTE sys.dbms_system.set_sql_trace_in_session(10,  2642, FALSE);

  追中結束后Oracle服務端文件夾下會產生一個最新的.trc后綴的文件,我們可以使用Search Everything工具查找最近時間生產的.trc文件,然后使用tkprof工具對該文件進行解析。

2 TRC文件解析

  解析生成的.trc文件,需要使用tkprof工具,該工具有非常多的復雜參數可供使用,如果不做復雜要求,可以使用下面簡單的命令將.trc文件輸出成文本文件。

  解析命令如下:

tkprof sqlplus_007.trc out.txt

    sqlplus_007.trc為數據追蹤文件

    out.txt 為輸出格式化文件

  打開out.txt文件,便可以查閱到SQL語句的執行情況。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM