ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle SQL 跟踪 --- dbms_system.set_sql_trace_in_session

Oracle SQL 跟踪 --- dbms_system.set_sql_trace_in_session

原创 Linux操作系统 作者:tolywang 时间:2007-06-28 00:00:00 0 删除 编辑
在很多时候我们需要跟踪其他用户的进程,而不是当前用户,这可以通过Oracle提供的系统包DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION来完成


例子:

exec sys.dbms_system.set_sql_trace_in_session(10 , 39196 , true);
exec sys.dbms_system.set_sql_trace_in_session(10 , 39196 , false);

SET_SQL_TRACE_IN_SESSION过程序要提供三个参数:

SQL> desc DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION;

Parameter Type Mode Default?

--------- ------- ---- --------

SID NUMBER IN

SERIAL# NUMBER IN

SQL_TRACE BOOLEAN IN

通过v$session我们可以获得sidserial#等信息:

获得进程信息,选择需要跟踪的进程:

SQL> select sid,serial#,username from v$session

2 where username is not null;

SID SERIAL# USERNAME

---------- ---------- ------------------------------

8 2041 SYS

9 437 EYGLE

设置跟着:

SQL> exec dbms_system.set_SQL_TRACE_in_session(9,437,true)

PL/SQL procedure successfully completed.

.

可以等候片刻,跟踪session执行任务,捕获sql操作…

.

停止跟踪:

SQL> exec dbms_system.set_SQL_TRACE_in_session(9,437,false)

PL/SQL procedure successfully completed.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84720/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14330887