Nonstop Database, HiRDB Version 9 System Operation Guide

[Contents][Index][Back][Next]

9.9.1 Deadlock priority value for commands

The deadlock priority value for commands is normally lower than the deadlock priority value for a UAP. Therefore, if deadlock occurs, it is the command that terminates in an error. To prevent commands from terminating in an error, you can set the deadlock priority value for commands to be higher than the deadlock priority value for a UAP. When you increase the command deadlock priority value, the error occurs in the transaction when deadlock occurs.

Organization of this subsection
(1) Commands for which the deadlock priority value can be changed
(2) List of deadlock priority values

(1) Commands for which the deadlock priority value can be changed

You can change the deadlock priority value for the following commands:

(2) List of deadlock priority values

The following table shows the deadlock priority values.

Table 9-3 Deadlock priority values

Type and condition Deadlock priority value
UAP Value of PDDLKPRIO in client environment definition 96 96
64 64
32 32
Omitted When X/Open XA interface is used 96
When X/Open XA interface is not used 64
Utility 64
Command pdhold -b, pdhold -s, pddbchg, pdorbegin, pdorend Value of pd_command_deadlock_priority#
Other commands 64

#: You can specify in this operand a deadlock priority value of 32, 64, 96, or 120. If this operand is omitted, the deadlock priority value is set as follows, according to the type of locked resource:
  • Locked resource for which the deadlock priority value is set to 64
    Dictionary table (DICT)
  • Locked resource for which the deadlock priority value is set to 120
    RDAREA (RDAR)
    RDAREA extension (RDLF)
    RDAREA status (RDAS)
    Backup hold (HOLD)
    Inner replica configuration (INRP)
    Replica group configuration (RPGP)
 
Reference note
  • A smaller deadlock priority value indicates a higher processing priority, and a larger deadlock priority value indicates a lower processing priority.
  • If two transactions have the same deadlock priority value, the first one that executes is accorded the higher priority.