Monday, August 8, 2011

"DBLocker caught exception while retrieving locked messages"


Getting the following error in the "soa_server1.out" log every 5 seconds:
<Aug 8, 2011 5:36:34 PM EDT> <Error> <oracle.soa.mediator.common.listener> <BEA-000000> <DBLocker caught exception while retrieving locked messages. Will retry retrieval after 5 seconds
        at oracle.tip.mediator.common.error.ErrorDBLocker.getMediatorMessage(
        at oracle.tip.mediator.common.error.ErrorDBLocker.convert(
        at oracle.tip.mediator.common.error.ErrorDBLocker.getLockedMessages(
        at oracle.tip.mediator.common.listener.DBLocker.getLockedMessages(
        at oracle.integration.platform.blocks.executor.WorkManagerExecutor$


After enabling the loggers to TRACE:32, it was narrowed down to a single BPEL process, but the process responds to requests fine and is functionally operational.

The following SQL query returns locked instances:
FROM   mediator_case_instance
WHERE  recoverable = 1
AND    (STATUS = 'ready' OR STATUS = 'locked')
AND    fault_obj IS NULL;
Although the status in the MEDIATOR_CASE_INSTANCE table may be 'locked', it is showing up in the EM console as 'Faulted'. Trying to abort the instances does not fix the problem.


1. Run the following UPDATE statement (as the <prefix>_SOAINFRA database user) to remove the locks on those instances:
UPDATE mediator_case_instance
SET    status = 'completed'
WHERE  recoverable = 1
AND    status = 'locked'
AND    fault_obj IS NULL;
The DBLocker error should now stop.

Applicable Versions:
  • Oracle SOA Suite 11g (

Ahmed Aboulnaga

1 comment: said...

Thanks for sharing the best information and suggestions, it is very nice and very useful to us. I appreciate the work that you have shared in this post. Keep sharing these types of articles here. oracle fusion manufacturing training India