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

64次阅读
没有评论

共计 729 个字符,预计需要花费 2 分钟才能阅读完成。

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

测试时,我在本机测试库登录 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 报错怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计729字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)