Forum Stats

  • 3,824,946 Users
  • 2,260,442 Discussions


ORA-06508 on callback from DBMS_AQ.REGISTER

User_ZNXPJ Member Posts: 10 Blue Ribbon


We are using dbms_aq.register to register a Callback function to be called each time a message is enqueued in a queue. The callback function does not directly perform a dbms_aq.dequeue, instead we have a convenience package that does this, and we call this package from our callback function. This is working properly most of the time, except when we make any change in our convenience package. After compiling that package our callback process is fired but we get this error in the line where we call our convenience package: ORA-06508: PL/SQL: could not find program unit being called.

The occurrence of this error is not for each message that we enqueue, we get this error randomly, many times it get fires for each message during a time, other times it gets fired for some messages, but always after a time it disappears, the callback function works as expected and can call the convenience package without this problem.

We stop, delete, and recreate the queue each time we compile the package so, this couldn't be the source of this behaviour.

Our product version:

Oracle Database 12c Enterprise Edition Release - 64bit Production

PL/SQL Release - Production

CORE Production

TNS for Linux: Version - Production

NLSRTL Version - Production