Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Cluster systems and single systems

&pagelevel(5)&pagelevel

Every lock name belongs to a global scope. If this scope is local to the node, the name is valid only on its own node. It is always separate from a name which is the same but which has the cluster as its scope.

Two applications (running on different nodes in a cluster) that have specified the same lock name with local scope are not serialized because each of the lock names is a local, nodespecific name.

If two applications specify the cluster as the scope for identical lock names, they refer to the same lock and are serialized by the DLM.

If two applications (running anywhere on the cluster) specify the same lock names but different scopes, they refer to different locks.

A lock with NAMRNGE=*OWNSYSTEM cannot be transferred to a lock with NAMRNGE=*CLUSTER because these two locks are completely different.

To enable user programs (that were developed for cluster systems) to run on single systems without the need for modifications, the DLM provides the following feature:

If a system is not part of a cluster and is also not part of a cluster in the current session, the DLM accepts LKENQ calls as if this system were part of a cluster. Locks which have been enqueued with NAMRNGE=*CLUSTER are not the same as those enqueued with NAMRNGE=*OWNSYSTEM.

Brief overview

Specify when
calling macro

Macro

Returned by macro


MF=D

LKEQU


(1)

MF=L

LKLSB


(2)


LKINF


(3)


LKENQ

LOCKID

(4)

LOCKID

LKCVT


(5)

LOCKID

LKCAN


(6)

LOCKID

LKDEQ


(7)

(1)

LKEQU

generates DLM-specific layouts

(2)

LKLSB

generates the layout of the Lock Status Block

(3)

LKINF

provides information about locks

(4)

LKENQ

creates a lock and supplies a lock ID

(5)

LKCVT

converts the lock request

(6)

LKCAN

cancels the lock request

(7)

LKDEQ

releases lock requests