设置autotrace的报错问题解决

我们在Oracle session中设置autotrace的时候,经常会遇到下列的问题:


SQL> set autotrace on
SP2-0613: 无法验证 PLAN_TABLE 格式或实体
SP2-0611: 启用EXPLAIN报告时出错

这是由于这个用户下没有PLAN_TABLE这个表的原因,可以执行ORACLE的sql来创建该表
ORACLE给的SQL在$ORACLE_HOME/rdbms/admin/utlxplan.sql中,执行该校本就可以了.

比如我的$ORACLE_HOME为C:oracleora92
那么我就执行下面的语句然后就可以了.
SQL> @C:oracleora92rdbmsadminutlxplan.sql

表已创建。

SQL>


表已经创建,那么有时候还会遇到权限的问题,提示错误信息如下:

SQL> set autotrace on
SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色
SP2-0611: 启用STATISTICS报告时出错
SQL>
SQL>

这是因为用户起用autotrace之后,需要访问一些系统字典和系统表,而用户没有权限访问那些表,所以会报权限的错误,可以给用户赋予下面的权限,然后用户重新登陆下就可以

了.

SQL> grant select any dictionary to charsi;

授权成功。

SQL> grant select any table to charsi;

授权成功。

SQL>


然后用户再执行就可以了.

而具体用户在设置autotrace的时候会访问和修改哪些表,可以通过对用户的session进行跟踪即可以进行研究.
事实上,在用户打开trace之后,系统会同时产生另外一个session专门进行跟踪用户当前的session,

[@more@]

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

转载于:http://blog.itpub.net/23850820/viewspace-1041697/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值