SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled

今天新建数据库使用hr用户练习的时候,set autotrace on时出现以下错误

wKiom1VMTV6jNe2CAADbseerzf8259.jpg

是因为没有PLUSTRACE权限

涉及到@ORACLE_HOME/sqlplus/admin/plustrce.sql文件

内容如下

-- DESCRIPTION
--   Creates a role with access to Dynamic Performance Tables
--   for the SQL*Plus SET AUTOTRACE ... STATISTICS command.
--   After this script has been run, each user requiring access to
--   the AUTOTRACE feature should be granted the PLUSTRACE role by
--   the DBA.
--
-- USAGE
--   sqlplus "sys/knl_test7 as sysdba" @plustrce
--
--   Catalog.sql must have been run before this file is run.
--   This file must be run while connected to a DBA schema.

set echo on

drop role plustrace;
create role plustrace;

grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$mystat to plustrace;
grant plustrace to dba with admin option;

set echo off

1.  查找数据库中是否有该角色

SQL> select * from dba_roles where role='PLUSTRACE';  

no rows selected

 2.建立角色  (使用sys用户)

SQL> @?/sqlplus/admin/plustrce.sql
SQL> 
SQL> drop role plustrace;
drop role plustrace
          *
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist


SQL> 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

3.查询数据库

SQL> select * from dba_roles where role='PLUSTRACE';

ROLE			       PASSWORD AUTHENTICAT
------------------------------ -------- -----------
PLUSTRACE		       NO	NONE

4.授予操作用户改权限

SQL> grant plustrace to hr;

Grant succeeded.

5.使用hr用户测试是否成功

SQL> conn hr/hr
Connected.
SQL> 
SQL> set autotrace on


你可能感兴趣的:(oracle,grant,PLUSTRACE,SP2-0618)