[英]Oracle 19C - Error trying to grant execute on DBMS_LOCK
Updating some scripts from 18 to 19, but getting this将一些脚本从 18 更新到 19,但得到了这个
Have also tried just DBMS_LOCK instead of SYS.DBMS_LOCK也试过 DBMS_LOCK 而不是 SYS.DBMS_LOCK
SQL> GRANT EXECUTE ON SYS.DBMS_LOCK to myuser;
GRANT EXECUTE ON SYS.DBMS_LOCK to myuser
*
ERROR at line 1:
ORA-04042: procedure, function, package, or package body does not exist
sqlplus "sys/ChangeMe123! AS SYSDBA" sqlplus "sys/ChangeMe123!AS SYSDBA"
Note - other grants worked注意 - 其他赠款有效
SQL> GRANT ALTER SESSION TO myuser; SQL> GRANT ALTER SESSION to myuser;
Grant succeeded.格兰特成功了。
SQL> GRANT CREATE PROCEDURE TO myuser; SQL> GRANT CREATE PROCEDURE to myuser;
Grant succeeded.格兰特成功了。
SQL> GRANT CREATE SEQUENCE TO myuser; SQL> 向 myuser 授予创建序列;
Grant succeeded.格兰特成功了。
SQL> GRANT CREATE SESSION TO myuser; SQL> 向 myuser 授予创建会话;
Grant succeeded.格兰特成功了。
SQL> GRANT CREATE MATERIALIZED VIEW TO myuser; SQL> GRANT CREATE MATERIALIZED VIEW to myuser;
Grant succeeded.格兰特成功了。
SQL> GRANT CREATE TABLE TO myuser; SQL> 向 myuser 授予创建表;
Grant succeeded.格兰特成功了。
SQL> GRANT CREATE TRIGGER TO myuser; SQL> GRANT CREATE TRIGGER TO myuser;
Grant succeeded.格兰特成功了。
SQL> GRANT CREATE VIEW TO myuser; SQL> 向 myuser 授予创建视图;
Grant succeeded.格兰特成功了。
SQL> GRANT CREATE ANY SYNONYM TO myuser; SQL> GRANT CREATE ANY SYNONYM TO myuser;
Grant succeeded.格兰特成功了。
SQL> GRANT DROP ANY SYNONYM TO myuser; SQL> GRANT DROP ANY SYNONYM TO myuser;
Grant succeeded.格兰特成功了。
SQL> GRANT SELECT ANY DICTIONARY TO myuser; SQL> GRANT SELECT ANY DICTIONARY TO myuser;
Grant succeeded.格兰特成功了。
SQL> GRANT EXECUTE ON DBMS_LOCK to myuser; SQL> GRANT EXECUTE ON DBMS_LOCK to myuser; GRANT EXECUTE ON DBMS_LOCK to myuser
将 DBMS_LOCK 上的 GRANT EXECUTE 授予 myuser
DBMS_LOCK.SLEEP
was deprecated replaced with DBMS_SESSION.SLEEP
but still available in 19c for backwards compatibility.Verify if object exists DBMS_LOCK.SLEEP
已被弃用,替换为DBMS_SESSION.SLEEP
但在 19c 中仍然可用以实现向后兼容性。验证对象是否存在
SQL> select object_name,object_type,owner from dba_objects
2 where object_name='DBMS_LOCK';
OBJECT_NAME OBJECT_TYPE OWNER
------------------------------ ----------------------- ------------------------------
DBMS_LOCK PACKAGE SYS
DBMS_LOCK PACKAGE BODY SYS
DBMS_LOCK SYNONYM PUBLIC
If above query returns nothing then run the dbmslock script as a sysdba that creates above package如果上述查询未返回任何内容,则将 dbmslock 脚本作为创建上述包的sysdba运行
sql>@?/rdbms/admin/dbmslock
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.