Chapter 2. Architecture of the Recovery Manager
2.1. Crash Recovery Overview
The main architectural components within Crash Recovery are illustrated in the diagram below:
The Recovery Manager is a daemon process1 responsible for performing crash recovery. Only one Recovery Manager runs per node. The Object Store provides persistent data storage for transactions to log data. During normal transaction processing each transaction will log persistent data needed for the commit phase to the Object Store. On successfully committing a transaction this data is removed, however if the transaction fails then this data remains within the Object Store.
The Recovery Manager functions by:
Periodically scanning the Object Store for transactions that may have failed. Failed transactions are indicated by the presence of log data after a period of time that the transaction would have normally been expected to finish.
Checking with the application process which originated the transaction whether the transaction is still in progress or not.
Recovering the transaction by re-activating the transaction and then replaying phase two of the commit protocol.
The following sections describe the architectural components in more detail.