【发布时间】:2021-09-12 14:06:18
【问题描述】:
我的计算机上有 XE,使用的是 Oracle Database 18c。早些时候,即使我以系统管理员或默认角色登录,我也能够执行函数dbms_output.put_line();。现在,我只能在以 sysadmin/sysdba 身份登录时运行dbms_output.put_line()。作为默认用户,我收到以下消息:
PLS-00201: identifier ‘DBMS_OUPUT.PUT_LINE’ must be declared
我尝试添加权限以使用命令执行dbms_output
grant execute on DBMS_OUTPUT to username;,但是,当我执行包含dbms_output.put_line() 的命令时收到此消息:
ORA-04067: not executed, package body "PERFSTAT.DBMS_OUTPUT" does not exist
ORA-06508: PL/SQL: could not find program unit being called: "PERFSTAT.DBMS_OUTPUT"
使用 sqlplus,我作为默认用户收到以下错误:
PLS-00201: identifier 'DBMS_OUTPUT.ENABLE' must be declared
我该如何解决这个问题?
【问题讨论】:
-
您是否在尝试解决您的问题时创建了同义词 - 最初似乎只是一个错字?什么是“默认用户”?
-
@AlexPoole,“默认用户”的意思是“非管理员用户”。可能是因为我正在阅读 Tom Kyte 写的书,其中有一部分是我们 - 设置 Statspack - 创建一个名为“Perfstat”的模式。
标签: oracle dbms-output