data base recovery at cmic
Several techniques have been combined to provide for data base recovery at CMIC. The CMIC environment is presented first in order to identify the constraints which data base recovery must satisfy.A technique is described for updating mass-storage structures (a B-tree in this case) in such a way that all information already addressable through the mass-storage structure can always be addressed through the mass-storage structure, even while the mass-storage structure is being updated. Audit trail recovery points are defined to be records on the audit trail tape with the property that all preceeding data base updates have been written to mass storage. Because of the mass-storage updating technique, any data base update not addressable through the data base mass-storage B-tree could not have been written to mass storage. Therefore, by the definition of a recovery point, the update must have occurred after the most recent recovery point.The audit trail is always updated before the data base. In the event of a failure which does not destroy mass storage (a soft crash), the data base mass-storage allocation is recovered by a tree walk through the B-tree ("hot start"). Then any updates which occurred after the last recovery point on the audit trail are restored from the audit trail.Finally, the problem of program restart after data base recovery is discussed. The question of whether deadlock is a reasonable price to pay for data base rollback is explained, but not answered. This question will have to be addressed as more data base systems try to support concurrent transaction and batch updates, distributed data bases, or data bases shared by independent host computers.
data base recovery data base recovery environments order constraint update storage structure b-tree tree case informal audit trail audit point records definition event failure soft crash "hot start" program restart deadlock price systems support concurrency transaction distributed sharing computation leaf-first rule track splitting on-line data base hard crash reload and restore storage allocation vsam