[Back to normal view]

Q:

Periodically, we receive the error message, "DBM-F-AREABUSY, usage of storage area <str> conflicts with a co-user", when we attempt to ready our database for CONCURRENT RETRIEVAL. An extensive review of our code found no cases where any of the areas were readied in an incompatible mode.

 

A:

DBMS can return the DBM-F-AREABUSY message on a READY statement even though compatible ready modes (CONCURRENT RETRIEVAL and CONCURRENT UPDATE) are being used. This situation can occur when an attempt is made to ready an area while database recovery is in progress. During database recovery, all database activity is frozen until the DBR recovery process has completed. When this situation arises, DBMS will not wait for the freeze to complete if the lock request is a NOWAIT lock request. On READY statements, NOWAIT is the default for area locks requests.

 

There are a couple of ways to handle this situation:

  1. Ready the database with WAIT (READY CONCURRENT RETRIEVAL WAIT). This will make the process issuing the ready wait for an area lock to be granted until after a database freeze has completed.

  2. Modify your programs to trap for this exception, wait a few seconds and then try to READY the area again. 

 

Copyright © 2008 Software Concepts International
All Rights Reserved