千家信息网

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

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,今天新建数据库使用hr用户练习的时候,set autotrace on时出现以下错误是因为没有PLUSTRACE权限涉及到@ORACLE_HOME/sqlplus/admin/plustrce.sql
千家信息网最后更新 2024年11月28日SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled

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

是因为没有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 ondrop 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.sqlSQL> 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

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/hrConnected.SQL> SQL> set autotrace on


0