set_sql_trace_in_session PLS-00201
来源:互联网 发布:w7网络连接图标不见了 编辑:程序博客网 时间:2024/05/17 01:50
问题:测试环境上非SYS用户想使用set_sql_trace_in_session跟踪会话信息,但遇到了PLS-00201错误。
解决方法:用sys用户登录授予用户有execute DBMS_SYSTEM的权限
grant execute on DBMS_SYSTEM to &username;
实验过程:
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
Connected as DEV
--.1从v$session中获取要跟踪的sid,serial#
SQL> SELECT sid ,serial# FROM v$session WHERE osuser='Liangwei';
SID SERIAL#
---------- ----------
331 32948
419 33910
--2.非sys用户,调用dbms_system.set_sql_trace_in_session,出错
SQL> EXEC dbms_system.set_sql_trace_in_session(sid =>'331' ,serial# =>'32948' ,sql_trace => TRUE);
begin dbms_system.set_sql_trace_in_session(sid =>'331' ,serial# =>'32948' ,sql_trace => TRUE); end;
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
--3.使用SYS用户授予dev用户execute DBMS_SYSTEM的权限
SQL> show user;
User is "SYS"
SQL> grant execute on DBMS_SYSTEM to dev;
Grant succeeded
SQL> show user;
User is "dev"
SQL> EXEC dbms_system.set_sql_trace_in_session(sid =>'331' ,serial# =>'32948' ,sql_trace => TRUE);
begin dbms_system.set_sql_trace_in_session(sid =>'331' ,serial# =>'32948' ,sql_trace => TRUE); end;
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
--4. 一定要加上sys
a)开启会话跟踪
SQL> EXEC sys.dbms_system.set_sql_trace_in_session(sid =>'331' ,serial# =>'32948' ,sql_trace => TRUE);
PL/SQL procedure successfully completed
。。。。等待331号sid执行SQL
b)结束会话跟踪
SQL> EXEC sys.dbms_system.set_sql_trace_in_session(sid =>'331' ,serial# =>'32948' ,sql_trace => FALSE);
PL/SQL procedure successfully completed
--5.udump目录下查看生成的dump文件
/oracle/app/admin/devdb/udump$ls -lrt
total 88
-rw-rw-rw- 1 oracle dba 0 Jul 16 2009 sbtio.log
-rw-r--r-- 1 oracle dba 40741 Jun 03 11:10 13.txt
-rw-r----- 1 oracle dba 3355 Jun 20 17:31 devdb_ora_8659146.trc
- set_sql_trace_in_session PLS-00201
- pls:00201 00304
- oracle pls-00201 问题
- Error: PLS-00201
- Error: PLS-00201
- Error: PLS-00201
- PLS-00201错怎么解决
- PLS-00201和IMP-00013
- PLS-00201 DBMS_AQ 看不到问题
- PLS-00201:必须说明标识符‘SHOW_SPACE'
- 创建oracle快照时报PLS-00201:
- Error: PLS-00201: 必须声明标识符 'EVEN'
- oracle运行存储过程报PLS-00201
- PLS-00201: 必须声明标识符 'PKG_CONST.R_CURSOR'
- Oracle SQL 跟踪 --- dbms_system.set_sql_trace_in_session
- Oracle SQL 跟踪 --- dbms_system.set_sql_trace_in_session
- Oracle 存储过程错误之PLS-00201: 必须声明标识符
- 错误(28,9): PLS-00201: 必须声明标识符 'PKG_IFACE_FOR_FLOW'
- php数组使用
- EXTJS初级UI设计进阶教程(3)
- IXPUB技術社區
- 需求分析:12条最佳实践
- CSDN计算机类推荐帖和自我感觉很好的帖
- set_sql_trace_in_session PLS-00201
- 关于链接服务器
- 法线贴图
- Embed使用方法
- 在vs2008中编写dll如何生成lib文件
- ReentrantLock-互斥同步器
- 网站测试
- MSChart 美化(参照微软Sample)
- WTL IWebBrowser2调用网页中javascript函数