在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
我们一般使用
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