Write error

When a write error is detected in an area, an EQE is created and application programs are allowed access to the area until the EQE count reaches 11.

Even though part of a database might not be available (one or more areas are stopped), the database is still logically available and transactions using that database are still scheduled. If multiple data sets make up the area, chances are that one copy of the data will always be available.

If your DEDB is nonrecoverable, write errors are handled differently, compared to recoverable DEDBs. When there is a write error in an area, an EQE is created. When there are 10 EQEs for an area, DBRC marks it "Recovery Needed" and IMS stops the area. If the area is shared, then all IMS systems in the sharing group are notified and they also stop the area. When a DEDB is marked Recovery Needed, you must restore it, such as from an image copy. Incorporate this recovery procedure into your operational procedures.

When a write error occurs to a DEDB using MADS, an EQE is created for the ADS that had the write error. In this environment, when the maximum of 10 EQEs is reached, the ADS is stopped.

When a write error to a recoverable DEDB area using a single ADS occurs, IMS invokes the I/O toleration (IOT) processing. IMS allocates a virtual buffer in ECSA and copies the control interval in error from the Fast Path common buffer to the virtual buffer. IMS records the creation of the virtual buffer with an X'26' log record. If the database is registered with DBRC, an Extended Error Queue Element (EEQE) is created and registered in DBRC. The EEQE identifies the control interval in error. In a data sharing environment using IRLM, all sharing partners are notified of the creation of the EEQE.

The data that is tolerated is available to the IMS system that created the EEQE. The sharing partner will get an 'AO' status when it requests that CI because the data is not available. When a request is made for a control interval that is tolerated, the data is copied from the virtual buffer to a common buffer. When an update is performed on the data, it is copied back to the virtual buffer. A standard X'5950' log record is generated for the update.

Every write error is represented by an EEQE on an area basis. The EEQEs are maintained by DBRC and logged to the IMS log as X'26' log records. There is no logical limit to the number of EEQEs that can exist for an area. There is a physical storage limitation in DBRC and ECSA for the number of EEQEs that can be maintained. This limit is installation dependent. To make sure that we do not overextend DBRC or ECSA usage, a limited number of EEQEs are allowed for a DEDB. The limit is 100. After 100 EEQEs are created for an area, the area is stopped.

During system checkpoint, /STO, and /VUN commands, IMS attempts to write back the CIs in error. If the write is successful, the EEQE is removed. If the write is unsuccessful, the EEQE remains.