【ERROR】非DBA用户要使用autotrace功能,报错(SP2-0618:和SP2-0611:和ORA-01919)

简介: 一、问题描述      使用sqlplus时,连接到业务用户时,想查看某SQL的执行计划,报【SP2-0618: Cannot find the Session Identifier.  Check PLUSTRACE role is enabled】和【SP2-0611: Error enabling STATISTICS report】,通过相关文档检索后得知原因是缺少plus trace ROLE的权限,解决思路:赋予用户plustrace 权限即可。
一、问题描述
     使用sqlplus时,连接到业务用户时,想查看某SQL的执行计划,报【SP2-0618: Cannot find the Session Identifier.  Check PLUSTRACE role is enabled】和【SP2-0611: Error enabling STATISTICS report】,通过相关文档检索后得知原因是缺少plus trace ROLE的权限,解决思路:赋予用户plustrace 权限即可。 

二、操作过程
1.登录用户,打开autotrace功能时报错
[oracle@db2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 21 09:29:29 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> conn ptpcpuser
Enter password:
Connected.

SQL> set autot on
SP2-0618: Cannot find the Session Identifier.  Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report

2.给用户赋予plustrace权限,报错【ORA-01919: role 'PLUSTRACE' does not exist】该角色不存在
SQL> conn / as sysdba
Connected.

SQL >grant plustrace to scott;
grant plustrace to scott
      *
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist

3.安装plustrce包,建立plustrace角色,执行$ORACLE_HOME/sqlplus/admin/plustrce.sql包
SQL >conn / as sysdba
Connected.

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

4.给用户赋予plustrace权限成功
SQL> grant plustrace to ptpcpuser;

Grant succeeded.

5.连接该用户,并且打开autotrace成功
SQL> conn ptpcpuser
Enter password:
Connected.

SQL> set autot trace
SQL> select nvl(SUM(t.bean_count), 0)/100 from bean_record t WHERE t.invest_multip > 1 AND t.status = '2';

Execution Plan
----------------------------------------------------------
Plan hash value: 3322369200

--------------------------------------------------------------------------------
--

| Id  | Operation          | Name        | Rows  | Bytes | Cost (%CPU)| Time
 |

--------------------------------------------------------------------------------
--

|   0 | SELECT STATEMENT   |             |     1 |     9 | 77835   (1)| 00:15:35
 |

|   1 |  SORT AGGREGATE    |             |     1 |     9 |            |
 |

|*  2 |   TABLE ACCESS FULL| BEAN_RECORD |  4591K|    39M| 77835   (1)| 00:15:35
 |

--------------------------------------------------------------------------------
--

Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("T"."INVEST_MULTIP">1 AND "T"."STATUS"='2')

Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
     313283  consistent gets
     313277  physical reads
          0  redo size
        549  bytes sent via SQL*Net to client
        520  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

SQL>


三、总结
     此问题有两个知识点,(1)是用户缺少set autotrace的权限,(2)是数据库缺少角色plustrace。这个问题对DBA来讲不是什么难事,但是还是要注意权限的管理与回收。继续学习喽,下回见。
目录
相关文章
|
缓存 负载均衡 Java
你真的了解负载均衡中间件nginx吗?
nginx可所谓是如今最好用的软件级别的负载均衡了。通过nginx的高性能,并发能力强,占用内存下的特点,可以搭建高性能的代理服务。同时nginx还能作为web服务器,反向代理,动静分离服务器。十分的方便好用,今天让我来一起看看,你真的了解nginx吗?
821 86
Ansible-playbook 并发运行async、poll(学习笔记二十二)
ansible默认只会创建5个进程,所以一次任务只能同时控制5台机器执行.那如果你有大量的机器需要控制,或者你希望减少进程数,那你可以采取异步执行.ansible的模块可以把task放进后台,然后轮询它.
5034 0
|
Oracle 关系型数据库
Oracle OGG 单表重新初始化同步的两种思路
OGG 单表重新初始化同步的两种思路
4749 0
|
编解码 移动开发 安全
FFmpeg开发笔记(五十)聊聊几种流媒体传输技术的前世今生
自互联网普及以来,流媒体技术特别是视频直播技术不断进步,出现了多种传输协议。早期的MMS由微软主导,但随WMV格式衰落而减少使用。RTSP由网景和RealNetworks联合提出,支持多种格式,但在某些现代应用中不再受支持。RTMP由Adobe开发,曾广泛用于网络直播,但因HTML5不支持Flash而受影响。HLS由苹果开发,基于HTTP,适用于点播。SRT和RIST均为较新协议,强调安全与可靠性,尤其SRT在电视直播中应用增多。尽管RTMP仍占一定市场,但SRT等新协议正逐渐兴起。
442 8
FFmpeg开发笔记(五十)聊聊几种流媒体传输技术的前世今生
|
Kubernetes API 容器
谈谈 Kubernetes 的匿名访问
谈谈 Kubernetes 的匿名访问
407 0
|
监控 Oracle 关系型数据库
"深度剖析:Oracle SGA大小调整策略——从组件解析到动态优化,打造高效数据库性能"
【8月更文挑战第9天】在Oracle数据库性能优化中,系统全局区(SGA)的大小调整至关重要。SGA作为一组共享内存区域,直接影响数据库处理能力和响应速度。本文通过问答形式介绍SGA调整策略:包括SGA的组成(如数据缓冲区、共享池等),如何根据负载与物理内存确定初始大小,手动调整SGA的方法(如使用`ALTER SYSTEM`命令),以及利用自动内存管理(AMM)特性实现智能调整。调整过程中需注意监控与测试,确保稳定性和性能。
1050 2
|
关系型数据库 MySQL 应用服务中间件
|
存储 Kubernetes 调度
Ansible最佳实践之 AWX 管理项目的一些笔记
写在前面 分享一些 AWX 创建管理项目的笔记 博文内容涉及: 容器化 AWX 手工创建项目Demo 通过 SCM 创建项目 Demo 项目角色,更新策略介绍,SCM 凭据的创建 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
896 0
Ansible最佳实践之 AWX 管理项目的一些笔记
|
Shell Linux 开发工具
【Linux】小而美脚本:在多台服务器同时执行 shell 命令
【Linux】小而美脚本:在多台服务器同时执行 shell 命令
502 1
|
JSON 运维 Linux
Ansible 工作架构和原理| 学习笔记
快速学习 Ansible 工作架构和原理
Ansible 工作架构和原理| 学习笔记