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>
截图:
参考:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。