2

I decided to try scheduling my jobs using oracle scheduler, I Created set of jobs and I try to intercommunicate those jobs using queue and I tried with one or two jobs it is running perfectly , but when i use of bunch of jobs (more than 20 jobs) and trying to communicate with those using queue . After a job get succeeded it will post a more number of messages into the queue for other jobs parallelly , after some successful posts it throws this error

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

My Doubts:

  • Why this error occur

  • How to overcome this error

jeyanthinath
  • 1,651
  • 2
  • 15
  • 22

1 Answers1

1

It was a oracle bug , caused by posting simultaneous messages (many) at a time will make the queue to a dead lock and it cant be used again .

And it was patched now .

jeyanthinath
  • 1,651
  • 2
  • 15
  • 22