我决定尝试使用oracle 调度程序安排我的作业,我创建了一组作业,并尝试使用这些作业相互通信queue
,我尝试使用一两个作业它运行良好,但是当我使用一堆作业(超过 20 个作业) 并尝试与使用queue
. 一个工作成功后,它会同时queue
向其他工作发布更多的消息,在一些成功的帖子之后它会抛出这个错误
SQL> @put.sql
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
SQL> BEGIN SAMPLE_ENQ_MSG('SAMPLE','SUCCESS'); END;
*
ERROR at line 1:
ORA-25455: evaluation error for rule set: DB_ADMIN.QUEUE_KONRAD23_R,
evaluation context: DB_ADMIN.AQ$_QUEUE_KONRAD23_TAB_V
ORA-25447: encountered errors during evaluation of rule
SYS.SCHEDULER$_RN$_146982
ORA-27355: unable to lock row cache entry
ORA-06512: at "SYS.DBMS_ISCHED", line 7503
ORA-06512: at "SYS.DBMS_AQ", line 169
ORA-06512: at "DB_ADMIN.SAMPLE_ENQ_MSG", line 9
ORA-06512: at line 1
我的疑惑:
为什么会出现这个错误
如何克服这个错误