ORACLE 10g DBMS_SYSTEM包设置其他会话的10046事件不产生trace文件

ORACLE 10gR2 使用DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSIONSET_EV设置其他用户的sql_tracet10046事件时,不能产生trace文件.整个过程没有报任何错误.使用alter session set events可以产生trace文件,ORACLE 9i实验可以产生trace文件.

 

oracle 版本信息如下:

SQL> SELECT * FROM v$version;

 

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 – Production

既然不能用,又找出原因,使用下面的方法和设置sql_trace,10046

1.通过ORADEBUG设置sql_trace,10046事件

设置oradebug

oradebug setospid spid –spid:系统进程号

 

设置10046事件

  oradebug event 10046 trace name context forever,level 12

 

  结束10046事件

  oradebug event 10046 trace name context off

 

  取得的trace name

  oradebug tracefile_name

oradebug的使用说明可以通过oradebug help获得

2.通过10g提供的新包DBMS_MONITOR设置sql_trace,10046事件

使用DBMS_MONITOR设置sql_trace,10046事件主要是调用SESSION_TRACE_DISABLESESSION_TRACE_ENABLE参数说明如下:

PROCEDURE : SESSION_TRACE_DISABLE

 Argument Name     Type                In/Out  Default?

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

 SESSION_ID    BINARY_INTEGER      IN     DEFAULT

 SERIAL_NUM   BINARY_INTEGER      IN     DEFAULT

 

PROCEDURE:  SESSION_TRACE_ENABLE

 Argument Name       Type               In/Out    Default?

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

 SESSION_ID       BINARY_INTEGER      IN     DEFAULT

 SERIAL_NUM      BINARY_INTEGER      IN     DEFAULT

 WAITS             BOOLEAN             IN     DEFAULT

 BINDS             BOOLEAN             IN     DEFAULT

SESSION_ID, SERIAL_NUM可以从v$session中查出

:

SELECT s.sid, s.serial#, s.username, p.spid

FROM v$session s, v$process p

WHERE s.paddr = p.addr

AND sid = &sid

WAITS, BINDS指定是否记录等待事件,绑定变量

:

EXEC  DBMS_MONITOR.SESSION_TRACE_ENABLE(123,123,TRUE,TRUE)

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

转载于:http://blog.itpub.net/7419833/viewspace-608902/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值