SQLPLUS下普通用户启用AUTOTRACE报错怎么办

这篇文章将为大家详细讲解有关SQLPLUS下普通用户启用AUTOTRACE报错怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

我们提供的服务有:网站建设、成都网站设计、微信公众号开发、网站优化、网站认证、武进ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的武进网站制作公司

测试时,我在本机测试库登录ORACLE EXAMPLE数据库的HR用户后,想简单查看某条sql 的执行计划,在使用set autotrace on 这个命令后发生报错,报错如下:


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

在网上搜索后发现报错原因为该用户无PLSUSTRACE角色的权限。
处理方案如下:
1.登录有dba角色的用户,如sys在dba_roles数据字典中查找是否存在PLUSTRACE角色
SYS>select * from dba_roles where role='PLUSTRACE';
2.如果存在,直接授权给HR用户即可,如果不存在则执行下列步骤:
  (1)使用oracle自带脚本创建该角色,在sys用户下执行  SYS>@?/sqlplus/admin/plustrce.sql
  (2)授权给HR用户,执行 SYS>grant plustrace to hr;
  (3)重新登录HR用户,启用autotrace
           SYS>conn hr/hr      
            Connected.
            HR>set autotrace on

关于“SQLPLUS下普通用户启用AUTOTRACE报错怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


名称栏目:SQLPLUS下普通用户启用AUTOTRACE报错怎么办
路径分享:http://myzitong.com/article/gojgcj.html