我正在尝试编写一小段 PL/SQL,其中包含非 CPU 燃烧睡眠。
以下在 sqldeveloper 中工作
begin
dbms_lock.sleep(5);
end;
但是(作为同一用户),我不能执行以下操作:
create or replace
procedure sleep(seconds in number)
is
begin
dbms_lock.sleep(seconds);
end;
没有错误“必须声明标识符“DBMS_LOCK”...有趣,因为我可以在没有程序的情况下运行它。
同样奇怪,当我以DBA身份登录时,我可以运行命令
grant exec on dbms_lock to public;
我得到
ERROR at line 1:
ORA-00990: missing or invalid privilege
这是 Oracle 版本“Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production”