以普通用户在SQL*PLUS中开启SQL TRACE时遇到如下报错:
SQL> show user
USER is "TEST01"
SQL> select * from session_roles;
ROLE
------------------------------
CONNECT
RESOURCE
SQL> set autot on exp stat
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report
SQL>
是由于Oracle没有将PLUSTRACE角色作为默认角色,在新建用户时不会将它默认的授予用户。
只需将这个角色授予需要开启SQL TRACE的用户即可。但在操作时发现数据库中并未创建这个角色,需要执行以下步骤来完成创建和授权:
创建PLUSTRACE角色:
for UNIX;
SQL> @$ORACLE_HOME/sqlplus/admin/plustrce.sql
for WINDOWS;
SQL> @$ORACLE_HOME\sqlplus\admin\plustrce.sql
将角色授予用户:
SQL> GRANT plustrace TO test01;
还需要执行创建PLAN_TABLE的脚本:
执行创建脚本:
for UNIX;
SQL> @$ORACLE_HOME/rdbms/admin/utlxplan.sql
for WINDOWS;
SQL> @$ORACLE_HOME\rdbms\admin\utlxplan.sql
此时再以普通用户test01开启SQL TRACE即可。