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