同事反应他们常用的应用用户,调用job报错如下:
ORA-27452: is an invalid name for a database object.
ORA-06512: at "SYS.DBMS_ISCHED", line 99
ORA-06512: at "SYS.DBMS_SCHEDULER", line 262
ORA-06512: at line 3
----事实上,在PL/SQL块中直接使用Dbms_Scheduler包创建Job,并未碰到权限问题。
---Create Job是从其他角色上继承而来,并没有显式对其授予该权限,而在存储过程或者函数中使用该包,得有显式授权才可以。
处理自然很简单了:
SQL> conn / as sysdba;
Connected.
SQL> Select * From Session_Privs Where Privilege Like '%SCHEDULE%' Or Privilege
2 Like '%JOB%';
PRIVILEGE
----------------------------------------
CREATE JOB
CREATE ANY JOB
MANAGE SCHEDULER
CREATE EXTERNAL JOB
SQL> Grant Create Job To lijie;
Grant succeeded.
后报错消失。
reference:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13750068/viewspace-753127/
,如需转载,请注明出处,否则将追究法律责任。