Oracle SQL語句追蹤

來源:互聯網
上載者:User

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語句的執行情況。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.