19.06.2013 Views

DB2 UDB for z/OS Version 8 Performance Topics - IBM Redbooks

DB2 UDB for z/OS Version 8 Performance Topics - IBM Redbooks

DB2 UDB for z/OS Version 8 Performance Topics - IBM Redbooks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

For partitioned table spaces defined with LOCKPART NO, prior versions of <strong>DB2</strong> lock only the<br />

last partition to indicate we have a lock on the whole table space. There are no L-locks held<br />

on each of the partition page sets. So, when should we propagate the child L-locks <strong>for</strong> the<br />

various partitions that are being used? We cannot tell by looking at the table space parent<br />

L-locks that we need to propagate the child locks since there no longer is a lock contention<br />

conflict that can trigger child lock propagation, and we cannot determine how each partition<br />

page set is being used by looking at the page set P-locks that are held at the partition level,<br />

while the parent L-lock is at the table space level with LOCKPART NO.<br />

To overcome this problem, <strong>DB2</strong> V8 obtains locks at the part level. LOCKPART NO behaves<br />

the same as LOCKPART YES.<br />

In addition, LOCKPART YES is not compatible with LOCKSIZE TABLESPACE. However, if<br />

LOCKPART NO and LOCKSIZE TABLESPACE are specified then we will lock every partition,<br />

just as every partition is locked today when LOCKPART YES is used with<br />

ACQUIRE(ALLOCATE). With this change you may see additional locks being acquired on<br />

individual partitions even though LOCKPART(NO) is specified.<br />

This change to the LOCKPART parameter behavior applies to both data sharing and non-data<br />

sharing environments.<br />

Since the new locking protocol cannot co-exist with the old, the new protocol will only take<br />

effect after the first group-wide shutdown and restart after the data sharing group is in<br />

new-function mode (NFM). You do not have to delete the lock structure from the coupling<br />

facility prior to restarting <strong>DB2</strong>, to trigger <strong>DB2</strong> on group restart to build a new lock structure. In<br />

addition, Protocol Level 2 will not be enabled if you merely ask <strong>DB2</strong> to rebuild the lock<br />

structure while any <strong>DB2</strong> member remains active.<br />

The new mapping takes effect after the restart of the first member, after successful quiesce of<br />

all members in the <strong>DB2</strong> data sharing group. So, to enable this feature, a group-wide outage is<br />

required.<br />

No other changes are required to take advantage of this enhancement.<br />

You can use the -DISPLAY GROUP command to check whether the new locking protocol is<br />

used (mapping IX IRLM L-locks to an S XES lock). Example 8-1 shows the output from a<br />

-DISPLAY GROUP command which shows Protocol Level 2 is active.<br />

Example 8-1 Sample -DISPLAY GROUP output<br />

DSN7100I -DT21 DSN7GCMD<br />

*** BEGIN DISPLAY OF GROUP(DSNT2 ) GROUP LEVEL(810) MODE(N)<br />

PROTOCOL LEVEL(2) GROUP ATTACH NAME(DT2G)<br />

--------------------------------------------------------------------<br />

<strong>DB2</strong> <strong>DB2</strong> SYSTEM IRLM<br />

MEMBER ID SUBSYS CMDPREF STATUS LVL NAME SUBSYS IRLMPROC<br />

-------- --- ---- -------- -------- --- -------- ---- --------<br />

DT21 1 DT21 -DT21 ACTIVE 810 STLABB9 IT21 DT21IRLM<br />

DT22 3 DT22 -DT22 FAILED 810 STLABB6 IT22 DT22IRLM<br />

The use of locking Protocol Level 2 requires that the PTFs <strong>for</strong> the following APARs are<br />

applied: PQ87756, PQ87168, and PQ86904 (IRLM).<br />

Chapter 8. Data sharing enhancements 327

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!