What causes a RC 67 - CXX EXCLUSIVE CONTROL INTERLOCK and how can I display who has an ENQ on the CXX?

Document ID : KB000044602
Last Modified Date : 14/02/2018
Show Technical Document Details

Question:  

We are getting these errors:

DB02405I - PXX FULL xxxx nnnnn 67(067)

DB02406I - PXX END - CXX EXCLUSIVE CONTROL INTERLOCK 

What causes this error? Is this an MVS ENQ? If so, how can we display who has the resource that causes the job to fail?

 

Answer: 

The return code 67 is a CXX EXCLUSIVE CONTROL INTERLOCK. It indicates the CXX is held under exclusive control by another task. It means another MUF or DBUTLTY job was active trying to open or close a URT at the same time as the job that got the error started.  The ENQ is very short lived so you should just try to rerun the job that failed.

This can also be caused by a job (usually DBUTLTY) that abended during open/close processing and left the CXX locked. In this case you would need to run DBUTLTY and issue a CXX RESET on an unused DBID like the demo database  (DBID=1):

RESET AREA=CXX,DBID=1

The other possibility is that the CXX is being accessed from another LPAR in the SYSPLEX.

This error only happens when you have coded the option CXXENQ=LOCAL in the CXX. With this option we use an MVS ENQ on the local LPAR and a DASD lock on the CXX.  We recommend you use CXXENQ=SYSPLEX instead which which does a SYSPLEX wide ENQ on the CXX but does not use a DASD lock. With this option the CXX INTERLOCK will never occur. To change it run DBUTLTY using this input: 

CXXMAINT OPTION=ALTER,CXXENQ=SYSPLEX 

We issue an MVS ENQ with a QNAME of CADTCM01 so use this MVS command to see who has locked it: 

D GRS,RES=(CADTCM01,*)

 

Additional Information:

QI91694 CA DATACOM ENQUEUE NAME CADTCM01

CXXMAINT ALTER CXXENQ (Controlling ENQ) in http://docops.ca.com