HP 3000 Manuals

Intrinsic Level Recovery [ TurboIMAGE/XL Database Management System Reference Manual ] MPE/iX 5.0 Documentation


TurboIMAGE/XL Database Management System Reference Manual

Intrinsic Level Recovery 

Intrinsic Level Recovery (ILR) is not required to protect the structural
integrity of the database, because in default recovery mode TurboIMAGE/XL
takes advantage of an internal MPE/iX file system service, called
Transaction Management (XM), to provide intrinsic level backup and
recovery.  Unless AUTODEFER is enabled, all intrinsics that modify the
database (DBPUTs, DBDELETEs, and DBUPDATEs) are written to XM log file
pages by MPE/iX. In default recovery mode, XM log file pages are only
written to disk when one of the following occurs:

   *   A system-specified time has elapsed.

   *   A request is made by a subsystem, such as TurboIMAGE/XL, to flush
       the XM log file to disk (for example, ILR is enabled, or DBEND
       mode 2 is specified and logging is enabled).

   *   The XM buffer is full.

Thus, intrinsics that have completed may not yet be written to disk.  If
a system failure occurs, only intrinsics that have been written to disk
are recovered.  When recovery is necessary, it must be performed at 
system startup time before anyone modifies the database. 

ILR also uses the MPE/iX Transaction Management service.  When ILR is
enabled, XM log file pages are written to disk at the end of each
completed DBDELETE and DBPUT. If a system failure occurs, at most only
one DBPUT or DBDELETE is not recovered.  (Note that a completed DBUPDATE
does not force a XM log write to disk.)  Because of these differences in
implementation, ILR on TurboIMAGE/V is not completely compatible with ILR
on TurboIMAGE/XL.

ILR does have performance implications.  Therefore, you may wish to
reevaluate your use of ILR with TurboIMAGE/XL. ILR is no longer necessary
to ensure the structural integrity of the database.  However, if your
data is not easily recoverable (information taken over the telephone, for
example) you may wish to use ILR because at most only one intrinsic can
be lost.


NOTE Before moving TurboIMAGE/V databases to MPE/iX, it is recommended that ILR be disabled. If it is not, TurboIMAGE/XL assumes you want ILR to remain enabled.
Major Differences * ILR is performed by MPE/iX Transaction Management. As a result, the ILR file DatabaseName00 does not exist. All transactions are logged to the MPE/iX Transaction Management log file. * ILR is not required to protect the structural integrity of the database. * ILR is not required for roll-back recovery. * DBUPDATE is included with DBPUT and DBDELETE in Intrinsic Level Recovery. However, completed DBUPDATEs are not guaranteed to be committed to the log file for recovery. * On TurboIMAGE/XL, only completed DBPUTs and DBDELETEs are recovered by ILR if the database was enabled for ILR. If these intrinsics are interrupted by a system failure or other abnormal termination, they are not recovered. On TurboIMAGE/V, if the database is enabled for ILR, the last DBPUT or DBDELETE, which was interrupted by a system failure or other abnormal termination, will be completed. * When recovery is necessary, it must be performed at system startup time before anyone modifies the database. This can cause a slightly longer startup time. (If a program accessing a TurboIMAGE/XL database aborts during the execution of an intrinsic, the incomplete intrinsic will be undone.) * On TurboIMAGE/XL, DBINFO mode 402 does not return information about whether or not ILR recovery has been done on the last DBPUT or DBDELETE. (Because database recovery is now performed at system startup time, this information is not available.) Table H-2 compares DBINFO mode 402 on TurboIMAGE/V with DBINFO mode 402 on TurboIMAGE/XL. Table H-2. DBINFO Mode 402 Changes ----------------------------------------------------------------------------------------------- | | | | | Element | TurboIMAGE/V | TurboIMAGE/XL | | | | | ----------------------------------------------------------------------------------------------- | | | | | 1 | ILR log flag: 1 if enabled; 0 if not | No change. | | | enabled. | | | | | | ----------------------------------------------------------------------------------------------- | | | | | 2 | Calendar date ILR was enabled. | No change. | | | | | ----------------------------------------------------------------------------------------------- | | | | | 3, 4 | Clock time ILR was enabled. | No change. | | | | | ----------------------------------------------------------------------------------------------- | | | | | 5 | 1 if ILR used; 0 if ILR not used. | Always 0. | | | | | ----------------------------------------------------------------------------------------------- | | | | | 6 | P if DBPUT; D if DBDELETE; otherwise blank. | Always blank. | | | | | ----------------------------------------------------------------------------------------------- | | | | | 7-14 | Data set name, when ILR used; otherwise | Always blank. | | | blank. | | | | | | ----------------------------------------------------------------------------------------------- | | | | | 15-16 | Reserved. | No change. | | | | | -----------------------------------------------------------------------------------------------


MPE/iX 5.0 Documentation