Recovering from a journal I/O error

A journal I/O error may have two causes. The first cause is a corrupted journal record header (MLOG). To recover from this type of error, do the following:

Action Command
1. Put DFSMShsm in emergency mode. SETSYS EMERGENCY
2. Issue the CONTROLDATASETS parameter of the BACKVOL command to back up the control and journal data sets.
Note: This step may fail with another I/O error. If it does, see Example 2: Replacing a damaged journal for more information on how to replace a damaged journal.
BACKVOL CONTROLDATASETS
3. Stop DFSMShsm. F DFSMSHSM,STOP
4. Use IEBGENER to copy some data into the journal data set to overwrite the existing control record.  
5. Start DFSMShsm. S DFSMSHSM

The second cause of a journal I/O error is a hardware error. If overwriting the journal record header does not correct the journal I/O error, a hardware malfunction probably caused the error.

To correct a hardware-caused journal I/O error, you may have to either 1) allocate a new journal data set on the same volume in a different location or 2) allocate a new journal data set on a different volume.

To allocate a new journal data set on the same DASD volume, do the following:

Action Command
1. Put DFSMShsm in emergency mode. SETSYS EMERGENCY
2. Issue the CONTROLDATASETS parameter of the BACKVOL command to back up the control and journal data sets.
Note: This step may fail with another I/O error. If it does, see Example 2: Replacing a damaged journal for more information about how to replace a damaged journal.
BACKVOL CONTROLDATASETS
3. Stop DFSMShsm. F DFSMSHSM,STOP
4. Rename the old journal data set  
5. Allocate a new journal data set  
6. Delete the old journal data set  
7. Start DFSMShsm. S DFSMSHSM

To allocate a new journal data set on a different DASD volume, follow the instructions in the next topic “Moving the journal”.