oracle中解决角色PLUSTRACE不存在

在sqlplus中用autotrace查看执计划时出现如下错误提示:

SYS@CDB$ROOT> conn scott/tiger@pdborcl

Connected.会话已更改。

SCOTT@PDBORCL> set autotrace on;

SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色

SP2-0611: 启用 STATISTICS 报告时出错

这是由于角色PLUSTRACE不存在,或没有创建。 只要执行$ORACLE_HOME/sqlplus/admin/plustrce.sql脚本就创建plustrace角色:

SCOTT@PDBORCL> conn sys/orcl@pdborcl as sysdba

Connected.

会话已更改。

SYS@PDBORCL> @C:\app\ORACLE\product\12.1.0\dbhome_1\sqlplus\admin\plustrce.sql

SYS@PDBORCL> grant plustrace to scott;

这样scott用户可以用autotrace跟踪sql执行计划了

SYS@CDB$ROOT> conn scott/tiger@pdborcl
Connected.

会话已更改。

SCOTT@PDBORCL> set autotrace on;
SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色
SP2-0611: 启用 STATISTICS 报告时出错
SCOTT@PDBORCL> conn sys/orcl@pdborcl as sysdba
Connected.

会话已更改。

SYS@PDBORCL> @C:\app\ORACLE\product\12.1.0\dbhome_1\sqlplus\admin\plustrce.sql
SYS@PDBORCL>
SYS@PDBORCL> drop role plustrace;

角色已删除。

SYS@PDBORCL> create role plustrace;

角色已创建。

SYS@PDBORCL>
SYS@PDBORCL> grant select on v_$sesstat to plustrace;

授权成功。

SYS@PDBORCL> grant select on v_$statname to plustrace;

授权成功。

SYS@PDBORCL> grant select on v_$mystat to plustrace;

授权成功。

SYS@PDBORCL> grant plustrace to dba with admin option;

授权成功。

SYS@PDBORCL>
SYS@PDBORCL> set echo off
SYS@PDBORCL> grant plustrace to scott;

授权成功。

SYS@PDBORCL>

截图:

2015-04-27_212747

参考:

oracle中解决角色PLUSTRACE不存在

posted on 2015-04-27 21:37  小强斋太  阅读(1583)  评论(0编辑  收藏  举报

导航