Tape write error recovery

Tape write error recovery refers to an attempt to recover from a write media error and continue a save on another volume.

In order to rewrite the data that was sent to the tape drive but was never written to the media because it was still in the drive buffer when the media error occurred, a large amount of data needs to be tracked in main store. The amount of data that needs to be tracked can become very large and consume significant memory resource. The newer tape devices contain a large data buffer (128 MB or larger) that along with data compaction on the order of 3:1 can result in over 384 MB of data that needs to be tracked to be able to recover from media errors.

You might encounter performance problems if you use tape write error recovery because of the memory required to track data plus some limits for how much data can actually be tracked for each tape drive. Because of the potential save performance impacts, tape write error recovery is not enabled by default. Tape write error recovery needs to be enabled if you want to use it.

Note: You cannot use software encryption when tape write error recovery is enabled.

Enabling and disabling tape write error recovery

Tape write error recovery can be enabled by creating a data area in either library QTEMP or QUSRSYS with the same name as the device description to be used for the save operations. The data area needs to be created as TYPE(*CHAR) with a length of at least 128 bytes. Change the character at position 20 to a "Y" to enable tape write error recovery or "N" to disable write error recovery. Creating the data area in library QTEMP will cause tape write error recovery to only be used for saves done by the job creating the data area in its QTEMP library. Creating the data area in library QUSRSYS will cause the tape write error recovery setting to be used by all saves that use the device for which the data area is created. The operating system first checks for a data area in QTEMP, so tape write error recovery can still be enabled or disabled for a particular job even if a data area exists in library QUSRSYS.

Example: Enabling Tape Write Error Recovery

CRTDTAARA DTAARA(QTEMP/TAPMLB01) TYPE(*CHAR) LEN(128)
CHGDTAARA DTAARA(QTEMP/TAPMLB01 (20 1)) VALUE('Y')

Example: Disabling Tape Write Error Recovery

CHGDTAARA DTAARA(QTEMP/TAPMLB01 (20 1)) VALUE('N')