在sqlplus中执行了这个命令,报错了
SQL> exec dbms_system.set_sql_trace_in_session(153,25080,true)
BEGIN dbms_system.set_sql_trace_in_session(153,25080,true); END;*
第1行出现错误:
ORA-06509: PL/SQL: 此程序包缺少 ICD 向量
ORA-06512: 在 "SYSTEM.DBMS_SYSTEM", line 59
ORA-06512: 在 "SYSTEM.DBMS_SYSTEM", line 51
ORA-06512: 在 line 1请高手来帮忙解决一下。
用的是system用户登录的。应该不存在权限问题吧?
SQL> exec dbms_system.set_sql_trace_in_session(153,25080,true)
BEGIN dbms_system.set_sql_trace_in_session(153,25080,true); END;*
第1行出现错误:
ORA-06509: PL/SQL: 此程序包缺少 ICD 向量
ORA-06512: 在 "SYSTEM.DBMS_SYSTEM", line 59
ORA-06512: 在 "SYSTEM.DBMS_SYSTEM", line 51
ORA-06512: 在 line 1请高手来帮忙解决一下。
用的是system用户登录的。应该不存在权限问题吧?
USER 为 "SYS"
SQL> exec dbms_system.set_sql_trace_in_session(153,25080,true)PL/SQL 过程已成功完成。SQL> conn system/top10@test
已连接。
SQL> exec dbms_system.set_sql_trace_in_session(153,25080,true)
BEGIN dbms_system.set_sql_trace_in_session(153,25080,true); END; *
第 1 行出现错误:
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须声明标识符 'DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
SQL> conn sys/top10@test as sysdba
已连接。
SQL> grant execute on DBMS_SYSTEM to system;授权成功。SQL> conn system/top10@test
已连接。
SQL> exec dbms_system.set_sql_trace_in_session(153,25080,true)
BEGIN dbms_system.set_sql_trace_in_session(153,25080,true); END; *
第 1 行出现错误:
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须声明标识符 'DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
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 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - ProductionSQL>
1、首先要赋权限。
2、调用时要加sys。
16:11:23 sys@PRACTICE> conn system
已连接。GLOBAL_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
system@PRACTICE已用时间: 00: 00: 00.00会话已更改。已用时间: 00: 00: 00.00
16:11:32 system@PRACTICE> exec dbms_system.set_sql_trace_in_session(153,25080,true);
BEGIN dbms_system.set_sql_trace_in_session(153,25080,true); END; *
第 1 行出现错误:
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须声明标识符 'DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
已用时间: 00: 00: 00.00
16:11:39 system@PRACTICE> conn sys as sysdba
已连接。GLOBAL_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sys@PRACTICE已用时间: 00: 00: 00.00会话已更改。已用时间: 00: 00: 00.00
16:11:45 sys@PRACTICE> grant execute on dbms_system to system;授权成功。已用时间: 00: 00: 00.01
16:11:52 sys@PRACTICE> conn system
已连接。GLOBAL_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
system@PRACTICE已用时间: 00: 00: 00.00会话已更改。已用时间: 00: 00: 00.00
16:12:00 system@PRACTICE> exec dbms_system.set_sql_trace_in_session(153,25080,true);
BEGIN dbms_system.set_sql_trace_in_session(153,25080,true); END; *
第 1 行出现错误:
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须声明标识符 'DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
已用时间: 00: 00: 00.01
16:12:05 system@PRACTICE> exec sys.dbms_system.set_sql_trace_in_session(153,25080,true);PL/SQL 过程已成功完成。已用时间: 00: 00: 00.00
还这是权限问题。3Q大家~