IBM SC34-7012-01 manual Choosing data availability over data integrity, About this task

Models: SC34-7012-01

1 268
Download 268 pages 41.5 Kb
Page 189
Image 189

4.If a unit of work has been shunted with a different CAUSE and REASON, review the descriptions of these values in the INQUIRE UOWDSNFAIL command to determine what action to take to allow the shunted unit of work to complete.

Choosing data availability over data integrity

There may be times when you cannot resolve all the retained locks correctly, either because you cannot easily remedy the situations preventing the changes from being committed, or because of insufficient time.

About this task

In such a situation, you can still release the locks, using the SET DSNAME command, although in most cases you will lose some data integrity.

SET DSNAME UOWACTION(COMMIT, BACKOUT, or FORCE) operates on shunted indoubt units of work. It causes any indoubt units of work that have made changes to the data set (these will appear on an INQUIRE UOWDSNFAIL command with a CAUSE of CONNECTION) to complete in one of the following ways:

vBy backing out or committing the changes according to the COMMIT or BACKOUT option on UOWACTION.

vBy backing out or committing the changes according to the indoubt ACTION attribute specified on the transaction resource definition (when you specify the FORCE option on UOWACTION).

When the unit of work completes, the locks are released. If the action chosen is backout (either by explicitly specifying BACKOUT or as a result of the FORCE option), diagnostic information is written to the CSFL transient data queue.

Therefore BACKOUT is normally the best option, because you can use the diagnostic information to correct the data if backout was the wrong decision. Diagnostic messages DFHFC3004 and DFHFC3010 are issued for each backed-out update. Choose COMMIT for the units of work only if you know this is the decision that would be communicated by the coordinator when resynchronization takes place following reconnection.

Note: The CEMT or EXEC CICS SET UOW command operates on a single unit of work and therefore gives better control of each unit of work. The SET DSN(...) UOWACTION operates on all indoubt units of work that have updated the specified data set. Because these may have also updated resources other than those in the specified data set, you may prefer to use the SET UOW command and consider the effect of your actions separately for each individual unit of work. However, if you are confident that the ACTION option specified on your transaction definitions indicates the best direction for each individual transaction, you can use SET DSNAME FORCE.

The SET DSNAME(datasetname) ACTION(RESETLOCKS) command operates on units of work that are shunted for reasons other than indoubt failure. CICS resets the locks for the named data set; that is, it:

vReleases any locks held against this data set by shunted units of work (other than indoubt failures)

vDiscards the log records that represent the uncommitted changes made to the data set by those units of work

vWrites diagnostic information to the CSFL transient data queue for each discarded log record.

Chapter 15. Resolving retained locks on recoverable resources 177

Page 189
Image 189
IBM SC34-7012-01 manual Choosing data availability over data integrity, About this task