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


1、今天在scott用户下执行语句跟踪时报了如下错误:

SCOTT@seiang11g>set autotrace
traceonly statistice

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

SP2-0611: Error
enabling STATISTICS report

2、通过上述报错信息分析,是由于scott用户没有PLUSTRACE角色,所以使用SYS用户授予scott用免费云主机域名户PLUSTRACE角色的权限:

SYS@seiang11g>grant PLUSTRACE to
scott;

grant
PLUSTRACE to scott

*

ERROR
at line 1:

ORA-01919: role
‘PLUSTRACE’ does not exist

但是报错信息提示:PLUSTRACE角色不存在,这是因为PLUSTRACE角色在数据库创建时并不会自动创建,这个角色需要手动通过运行plustrce.sql脚本来创建;

[oracle@seiang11g
~]$
cd
$ORACLE_HOME/sqlplus/admin

[oracle@seiang11g
admin]$ ll

total
16

-rw-r–r–
1 oracle oinstall 466 Jul 13 13:13
glogin.sql

drwxr-xr-x
2 oracle oinstall 81 Jul 13 10:01 help

-rw-r–r–
1 oracle oinstall 226 Jul 17 2013 libsqlplus.def

-rw-r–r– 1
oracle oinstall 813 Mar 7 2006
plustrce.sql

-rw-r–r–
1 oracle oinstall 2118 Feb 16 2003
pupbld.sql

plustrace.sql脚本内容如下所示:

[oracle@seiang11g
admin]$
cat
plustrce.sql


Copyright (c) Oracle Corporation 1995, 2002.
All Rights Reserved.


NAME

— 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

SYS用户下执行该脚本:

SYS@seiang11g>@?/sqlplus/admin/plustrce.sql

SYS@seiang11g>

SYS@seiang11g>drop
role plustrace;

drop
role plustrace

*

ERROR
at line 1:

ORA-01919:
role ‘PLUSTRACE’ does not exist

SYS@seiang11g>create
role plustrace;

Role
created.

SYS@seiang11g>

SYS@seiang11g>grant
select on v_$sesstat to plustrace;

Grant
succeeded.

SYS@seiang11g>grant
select on v_$statname to plustrace;

Grant
succeeded.

SYS@seiang11g>grant
select on v_$mystat to plustrace;

Grant
succeeded.

SYS@seiang11g>grant
plustrace to dba with admin option;

Grant
succeeded.

SYS@seiang11g>

SYS@seiang11g>set
echo off

脚本执行完毕!

3、最后将PLUSTRACE角色授权给scott用户:

SYS@seiang11g>grant PLUSTRACE to
scott;

Grant
succeeded.

SCOTT@seiang11g>set autotrace
traceonly statistics

注意:在将PLUSTRACE角色授权给scott用户后,需要重新连接scott用户才可以开启会话跟踪。

SCOTT@seiang11g>insert into emp1
select * from emp1;

14 rows created.

Statistics

———————————————————-

15
recursive calls

22
db block gets

33
consistent gets

5
physical reads

1872 redo size

834
bytes sent via SQL*Net to client

791
bytes received via SQL*Net from client

3
SQL*Net roundtrips to/from client

2
sorts (memory)

0
sorts (disk)

14
rows processed

相关推荐: oracle的ITL

一、ITL描述: ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag,lck和scn/fsc组成,用来记录该块所有发生的事务,一个i…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/01 21:35
下一篇 01/01 21:58