发表于: 2006.07.15 11:15
分类: ORACLE , Bug
出处: http://yangtingkun.itpub.net/post/468/138462
---------------------------------------------------------------
最近又是连着碰到bug,不过这个bug没有什么危害。只是错误信息有点让人摸不着头脑。
在一个client上,登陆数据库服务器,然后执行SET AUTOTRACE ON,结果报错:
SQL> set autot on
SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色
SP2-0611: 启用STATISTICS报告时出错
本来这个错误是很常见的,在配置AUTOTRACE时经常会遇到,这个错误说明当前用户缺少PLUSTRACE角色。
但是当前用户已经具有了PLUSTRACE权限,而且如果TELNET到数据库服务器上,进入SQLPLUS,执行SET AUTOTRACE ON也不会报错。
查询metalink发现是Oracle的bug:
Bug 2876841:Sp2-0618 On Client Lower Than 9.2.0.3 When Setting Autotrace On
简单的说,就是从Oracle的9203开始,设置AUTOTRACE不再需要访问V$SESSION视图,因此,Oracle将v_$session的授权从plustrce.sql中删掉了。但是低版本的客户端在设置AUTOTRACE的时候,仍然要检查这个视图的权限,如果缺少权限,则会报错,提示没有授予PLUSTRACE角色。
解决方法很简单,如果不想升级客户端版本,那么直接将V$_SESSION的访问权限也授权给PLUSTRACE角色就可以了。











