RDBPROD: Using the OpenVMS System Field DLCKPRI to Predict Deadlock Victims (Doc ID 74777.1)

Last updated on AUGUST 08, 2016

Applies to:

Oracle Rdb Server on OpenVMS - Version 7.0 and later
Oracle CODASYL DBMS - Version 7.0 and later
HP OpenVMS VAX
HP OpenVMS Alpha
HP OpenVMS Itanium

Goal

In the VMS Internals and Data StructuresOpenVMS documentation, there is a discussion of victim selection in deadlock situations. This article discusses a field in the Process Control Block (PCB) called PCB$L_DLCKPRI, which contains a deadlock priority for the running process. In the event of a deadlock, the process with the lower deadlock priority is chosen to be the victim. Normally, OpenVMS leaves this DLCKPRI field at zero, but it can be manipulated by applications and/or layered products.

Can you, as a programmer, manipulate the deadlock priorities so that you ensure that certain database jobs are never victimized? This would be helpful in the case of a long-running batch job which you did not want to interrupt, or in the case of high-availability interactive jobs that need to stay available.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms