ITPub博客

首页 > 数据库 > Oracle > oracle 9i for linux 9.2.0.4 中打开autotrace中的一个bug。

oracle 9i for linux 9.2.0.4 中打开autotrace中的一个bug。

原创 Oracle 作者:likaiabc 时间:2008-07-14 11:30:31 0 删除 编辑
按照常规方法运行了utlxplan.sql和plustrce.sql后。
使用system用户set autot on,没有问题,
但是使用自建用户则提示
SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色
SP2-0611: 启用STATISTICS报告时出错[@more@]

经过baidu一番,原来是这个版本的plustrce.sql里有bug,少了对一个系统表的grant授权。
执行
grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$mystat to plustrace;

后即可

-------------------

btw:打开set autotrance功能的脚本

1.用sys用户运行脚本ultxplan.sql
建立这个表的脚本是:(UNIX:$ORACLE_HOME/rdbms/admin, Windows:%ORACLE_HOME%rdbmsadmin)ultxplan.sql。
SQL> connect sys/sys@colm2 as sysdba;
SQL> @C:oracleora92rdbmsadminutlxplan.sql;
SQL> create public synonym plan_table for plan_table; --建立同义词
SQL> grant all on plan_table to public;--授权所有用户

2.要在数据库中建立一个角色plustrace,用sys用户运行脚本plustrce.sql来创建这个角色,这个脚本在目录(UNIX:$ORACLE_HOME/sqlplus/admin, Windows:%ORACLE_HOME%sqlplusadmin)中;
SQL> @C:oracleora92sqlplusadminplustrce.sql;
3.然后将角色plustrace授予需要autotrace的用户;
SQL>grant plustrace to public;

* plustrace角色只是具有以下权限:
grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$mystat to plustrace;
grant plustrace to dba with admin option;

plustrce.sql脚本如下
create role plustrace;
grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$mystat to plustrace;
grant select on v_$session to plustrace;
grant plustrace to dba with admin option;

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

请登录后发表评论 登录
全部评论

注册时间:2008-09-26

  • 博文量
    20
  • 访问量
    13799