set autotrace报错
报错:
SQL> set autotrace traceonly
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report
原因分析:
根据上面的错误提示“SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled”我们知道是****因为PLUSTRACE角色没有授权给该用户导致的****
解决办法:
重新创建PLUSTRACE用户
SQL> conn / as sysdba
Connected.
SQL> select * from dba_role_privs where granted_role='SQL> conn / as sysdba
Connected.
SQL> select * from dba_role_privs where granted_role='PLUSTRACE';no rows selectedSQL> @?/sqlplus/admin/plustrce.sql
SQL>
SQL> drop role plustrace;
drop role plustrace*
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not existSQL> create role plustrace;Role created.SQL>
SQL> grant select on v_$sesstat to plustrace;Grant succeeded.SQL> grant select on v_$statname to plustrace;Grant succeeded.SQL> grant select on v_$mystat to plustrace;Grant succeeded.SQL> grant plustrace to dba with admin option;Grant succeeded.SQL>
SQL> set echo off
SQL> ';no rows selectedSQL> @?/sqlplus/admin/plustrce.sql
SQL>
SQL> drop role plustrace;
drop role plustrace*
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not existSQL> create role plustrace;Role created.SQL>
SQL> grant select on v_$sesstat to plustrace;Grant succeeded.SQL> grant select on v_$statname to plustrace;Grant succeeded.SQL> grant select on v_$mystat to plustrace;Grant succeeded.SQL> grant plustrace to dba with admin option;Grant succeeded.SQL>
SQL> set echo off
SQL>
发现sys用户执行成功,但是scott用户执行还是失败
SQL> conn / as sysdba
Connected.
SQL> set autotrace traceonly;
SQL> conn scott/oracle
Connected.
SQL> set autotrace traceonly;
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-061
将统计信息视图权限赋予scott
grant select on v_$sesstat to SCOTT;
grant select on v_$statname to SCOTT;
grant select on v_$mystat to SCOTT;
再次执行成功
SQL> set autotrace traceonly;
SQL>