identifier 'DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION' must be declared

 

由“如何跟踪某个session的SQL”来试用sql_trace进行sql跟踪,

18:43:27 ejing@ORCL> select distinct sid from v$mystat;

       SID

----------

       133

18:45:06 ejing@ORCL> select sid,serial# from v$session where sid=133;

       SID    SERIAL#

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

       133         26

 

windows环境下报错:

18:47:01 ejing@ORCL> execute dbms_system.set_sql_trace_in_session(133,26,true);

BEGIN dbms_system.set_sql_trace_in_session(133,26,true); END;

      *

ERROR at line 1:

ORA-06550: line 1, column 7:

PLS-00201: identifier 'DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION' must be declared

ORA-06550: line 1, column 7:

PL/SQL: Statement ignored


网上查找到解决方法,

hi,

when i ran the 

execute dbms_system.set_sql_trace_in_session(78,25435,true); then the following error is occuring. Pls let me know how to get rid of this error?

PLS-00201: identifier 'DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION' must be declared

thanks

Parijat

 

julian

03-12-2002, 07:06 AM

Run as SYS prvtutil.plb script. You will find it in $ORACLE_HOME/rdbms/admin/

Then, still as SYS:

SVRMGR> GRANT EXECUTE ON DBMS_SYSTEM TO USER_NAME; 

Then, as USER_NAME, create a synonym: 

SVRMGR> CREATE SYNONYM DBMS_SYSTEM FOR SYS.DBMS_SYSTEM;

 

于是:

19:02:21 sys@ORCL> @"D:\app\fly2bleusky\product\11.1.0\db_1\RDBMS\ADMIN\prvtutil.plb"

View created.

Type created.

Type created.

Package body created.

Package created.

Package body created.

 

19:12:12 sys@ORCL> grant execute on dbms_system to ejing;

Grant succeeded.

19:13:02 ejing@ORCL> create synonym dbms_system for sys.dbms_system;

Synonym created.

19:13:24 ejing@ORCL> exec dbms_system.set_sql_trace_in_session(133,26,true);

PL/SQL procedure successfully completed.

 

接下来继续:

http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htm

http://www.banping.com/2009/11/27/sqltrace_session/

 

19:26:03 ejing@ORCL> exec dbms_system.set_sql_trace_in_session(133,32,true);

PL/SQL procedure successfully completed.

19:26:11 ejing@ORCL> exec dbms_system.set_sql_trace_in_session(133,32,false);

PL/SQL procedure successfully completed.

19:27:51 ejing@ORCL> select sid,paddr from v$session where sid=133;

       SID PADDR

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

       133 2FA92D00

19:30:04 ejing@ORCL> select spid from v$process where addr='2FA92D00';

SPID

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

4760

trace file@D:\app\fly2bleusky\diag\rdbms\orcl\orcl\trace

orcl_ora_4760.trc

用UltraEditor打开,从头到尾浏览了一下,看懂一点点,

=====================

PARSING IN CURSOR #3 len=22 dep=0 uid=88 oct=3 lid=88 tim=10816393517 hv=1993244958 ad='2813ae5c' sqlid='68bgnf5vcx08y'

select count(*) from a

END OF STMT

PARSE #3:c=15600,e=28617,p=7,cr=26,cu=0,mis=1,r=0,dep=0,og=1,tim=10816393510

EXEC #3:c=0,e=65,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=10816393793

FETCH #3:c=0,e=92,p=0,cr=7,cu=0,mis=0,r=1,dep=0,og=1,tim=10816393996

STAT #3 id=1 cnt=1 pid=0 pos=1 obj=0 op='SORT AGGREGATE (cr=7 pr=0 pw=0 time=0 us)'

STAT #3 id=2 cnt=6 pid=1 pos=1 obj=72098 op='TABLE ACCESS FULL A (cr=7 pr=0 pw=0 time=3 us cost=3 size=0 card=6)'

FETCH #3:c=0,e=4,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=10816394642

=====================

PARSING IN CURSOR #5 len=52 dep=0 uid=88 oct=47 lid=88 tim=10816398138 hv=1029988163 ad='298fef98' sqlid='9babjv8yq8ru3'

BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END;

END OF STMT

PARSE #5:c=0,e=52,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=10816398130

EXEC #5:c=0,e=361,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,tim=10816398817

 

*** 2011-05-26 19:23:39.643

=====================

PARSING IN CURSOR #3 len=33 dep=0 uid=88 oct=42 lid=88 tim=10830604536 hv=0 ad='cd0fc04' sqlid='0000000000000'

alter session set sql_trace=false

END OF STMT

PARSE #3:c=0,e=807,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=10830604528

EXEC #3:c=0,e=73,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=10830605020

 

*** 2011-05-26 19:26:11.388

=====================

PARSING IN CURSOR #5 len=52 dep=0 uid=88 oct=47 lid=88 tim=10982349561 hv=1029988163 ad='298fef98' sqlid='9babjv8yq8ru3'

BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END;

END OF STMT

PARSE #5:c=0,e=77,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=10982349551

EXEC #5:c=0,e=423,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,tim=10982350510

 

*** 2011-05-26 19:27:04.599

=====================

PARSING IN CURSOR #3 len=64 dep=0 uid=88 oct=47 lid=88 tim=11035561858 hv=831792803 ad='280c8260' sqlid='c9w0ws8st89p3'

BEGIN dbms_system.set_sql_trace_in_session(133,32,false); END;

END OF STMT

PARSE #3:c=0,e=31334,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=1,tim=11035561850

EXEC #3:c=0,e=139,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=1,tim=11035562508

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值