TurboIMAGE/XL Database Management System Reference Manual MPE/iX V6.5 (30391-90011)
Appendix G 659
Recovery and Logging Quick Reference
Recovery Quick Reference
G Recovery and Logging Quick
Reference
Recovery Quick Reference
The following pages offer a very brief outline of the recovery options in TurboIMAGE/XL.
For more information regarding dynamic roll-back recovery, Intrinsic Level Recovery
(ILR), roll-forward recovery and roll-back recovery refer to chapter 7, "Logging and
Recovery," and chapter 8, "Using the Database Utilities."
You should determine which type of recovery to use based on the size of the database,
frequency of system failures, equipment availability, and other considerations.
Dynamic Roll-Back Recovery
• Allows dynamic transactions to be rolled back on-line while other database activity is
occurring. If a system failure occurs, incomplete dynamic transactions will be rolled
back at the first call to DBOPEN for the database after the system is restarted.
• Uses DBXBEGIN, DBXEND, and DBXUNDO intrinsics.
• Requires strong locking. Calling DBUNLOCK after a call to DBPUT, DBDELETE or
DBUPDATE within a dynamic transaction will return an error because the call to
DBUNLOCK must occur after the call to DBXEND. If necessary locks are not acquired
before calling DBXBEGIN, covering locks must be used on the intrinsic calls within the
transaction, or the intrinsic will return an error.
• Requires checking of the status condition before proceeding further after a modification
using DBPUT, DBDELETE, DBUPDATE, or after DBUNLOCK,orDBCLOSE in mode 2. If an
error is returned indicating the failure of the intrinsic, the choices are:
— Call DBXEND. The successful modifications completed within this dynamic
transaction will not be rolled back.
— Call DBXUNDO to roll back the entire transaction. Even successful modifications
completed within this dynamic transaction will be rolled back.
— Continue with the remainder of the dynamic transaction even though this intrinsic
failed. Be very cautious in your design when taking this option as the final result can
be unpredictable.
• Cannot use deferred output (AUTODEFER). This ensures the structural integrity of the
database.
• Can use user logging for roll-forward recovery purposes in the event of a disk media
failure.
• Can be used with remote databases.