1,自SESSION内TRACE取得方法。
//取得开始 ALTER SESSION SET TIMED_STATISTICS = TRUE; ALTER SESSION SET SQL_TRACE = TRUE; //SQL执行 .............................. .............................. //取得终了 ALTER SESSION SET TIMED_STATISTICS = FALSE; ALTER SESSION SET SQL_TRACE = FALSE; //取得结果 D:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_360.trc TKPROF orcl_ora_360.trc report.txt
2,指定用户的指定SESSION的TRACE取得方法。注意:我用的是sys用户。
//找出要检测的SID和SERIAL SELECT SID, SERIAL#, STATUS, SUBSTR(USERNAME, 1, 8) USERNAME, SUBSTR(SCHEMANAME, 1, 8) SCHEMANAME, SUBSTR(OSUSER, 1, 16) OSUSER, SUBSTR(MACHINE, 1, 16) MACHINE, SUBSTR(PROGRAM, 1, 16) PROGRAM FROM V$SESSION WHERE USERNAME IS NOT NULL ORDER BY SID; //取得开始 EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(157, 262, TRUE); //SQL执行 .................................... .................................... //取得结束 EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(157, 262, FALSE);