解决 Oralce 执行set autotrace on时的SP2-0618和SP2-0611错误

在Oracle sqlplus查看执行计划时.

我们一般使用
set autotrace on;
接下来的sql语句就会自动显示execution plan.

但是有时再执行set autotrace on时会报出如下错误:
例如在11g oralce example的hr....
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report



原因是hr账户没有访问与autotrace相关表的权限.
在SP2_0618提示我们应该分配PLUSTRACE角色给hr

那么我们执行
grant plustrace to hr;

但是也报错了:
ERROR at line 1:
ORA-01919: role ‘PLUSTRACE’ does not exist


原因是plustrace 这个角色还没建立.

其实11g已经提供了建立创建plustrace角色的脚本.如下图



用sys账户上面的脚本, plustrace角色就建立了.

接下来执行
grant plustrace to hr;

hr就是使用set autotrace on来查看执行计划了.



参考:http://seercomputing.com/blog/?p=1539
posted @ 2013-04-02 00:56  Gateman  阅读(155)  评论(0编辑  收藏  举报