Unable to close a DBID open in Server RC 46 (46) BASE OPEN IN ANOTHER COPY OF DATACOM  
search cancel

Unable to close a DBID open in Server RC 46 (46) BASE OPEN IN ANOTHER COPY OF DATACOM  

book

Article ID: 270016

calendar_today

Updated On:

Products

Datacom Datacom/AD Datacom/DB

Issue/Introduction

A batch job failed with the following error message :
DB13001E - UNEXPECTED RETURN CODE 46 (46) BASE OPEN IN ANOTHER COPY OF DATACOM  

A CXX report of the DBID shows 'UPDATE USERS -  0' but 'READ ONLY USERS -   1' 

Run DBUTLTY with:

COMM OPTION=CLOSE,DBID=nnn
ACCESS  DBID=nnn,STATUS=OFF,USERS=FAIL

This fails with error message:
DB00607I - BASE nnn ACCESS OFF ACTIVE JOB(S) job_name

The job_name is for Datacom Server

A SYSVIEW  DCOPEN display shows the dbid is open by Server and the URT number is  -9.

Environment

Release : 15.1

Cause



Resolution

The URT number -9 indicates it is an SQL dynamic URT.

Make sure PLNCLOSE=T  is specified or defaulted to in the Datacom server startup options. This will cause the URT to be closed when the transaction ends.

If the dbid remains open even with PLNCLOSE=T, it could be caused by pooled connections from Datacom Server which keep connections open and delay the closing of the URT.

In this case check if any applications uses pooled connections and if so close the pooled connection.

You can also try the following procedure:

  • Issue the following SQL statement to confirm SQL has the dbid open:
    SELECT * FROM SYSADM.SQL_STATUS_URT
      WHERE DBID = 'nnn';

  • Then try to close the dbdid with this SQL statement:
    DELETE FROM SYSADM.SQL_STATUS_URT_INACTIVE
       WHERE DBID = 'nnn';

These statements are documented in section Datacom/DB SQL Preprocessor Options
  
Another solution is to restart Datacom Server to release the dbid.

 

Additional Information

If the dbid is open in CICS with a negative URT number rather than Server then see article 261694.
You just need to do a DBOC CLOSE=20 in CICS in this situation.