Recovering from table space I/O errors

You can recover a table space after I/O errors have occurred and caused the table space to fail.

Symptoms

The following message is issued, where dddddddd is a table space name:

DSNU086I   DSNUCDA1 READ I/O ERRORS ON SPACE=dddddddd.
         DATA SET NUMBER=nnn.
         I/O ERROR PAGE RANGE=aaaaaa, bbbbbb.

Any table spaces that are identified in DSNU086I messages must be recovered. Follow the steps later in this topic.

Environment

Db2 remains active.

Resolving the problem

Operator response:
  1. Fix the error range:
    1. Use the command STOP DATABASE to stop the failing table space.
    2. Use the command START DATABASE ACCESS (UT) to start the table space for utility-only access.
    3. Start a RECOVER utility step to recover the error range by using the following statement:
      DB2 RECOVER (dddddddd) ERROR RANGE

      If you receive message DSNU086I again to indicate that the error range recovery cannot be performed, continue with step 2.

    4. Issue the command START DATABASE to start the table space for RO or RW access, whichever is appropriate. If the table space is recovered, you do not need to continue with the following procedure.
  2. If error range recovery fails because of a hardware problem:
    1. Use the command STOP DATABASE to stop the table space or table space partition that contains the error range. As a result of this command, all in-storage data buffers that are associated with the data set are externalized to ensure data consistency during the subsequent steps.
    2. Use the INSPECT function of the IBM® Device Support Facility, ICKDSF, to check for track defects and to assign alternate tracks as necessary. Determine the physical location of the defects by analyzing the output of messages DSNB224I, DSNU086I, and IOS000I. These messages are displayed on the system operator's console at the time that the error range was created. If damaged storage media is suspected, request assistance from IBM Hardware Support before proceeding.
    3. Use the command START DATABASE to start the table space with ACCESS(UT) or ACCESS(RW).
    4. Run the RECOVER utility with the ERROR RANGE option. Specify an error range that, from image copies, locates, allocates, and applies the pages within the tracks that are affected by the error ranges.