oracle中解决角色PLUSTRACE不存在

时间:2023-03-09 18:19:32
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>

截图:

oracle中解决角色PLUSTRACE不存在

参考:

oracle中解决角色PLUSTRACE不存在