Patent ID: 8818960
Filing Date: 2014-08-26
Classification: G06F

Abstract:
1. In a computer system including at least one processor and a memory, and which is included in a computer networking environment including a plurality of other computing systems and at least one database server, a computer-implemented method for implementing a transitional redo phase during recovery following a failure of the database or database server, the transitional redo phase allowing at least limited access to the database prior to a final redo phase which provides full recovery, the computer-implemented method comprising the following acts: following detection of a database failure at a database server, initiating an analysis phase of a database recovery by scanning a database transaction log to identify dirty pages that represent pages having unprocessed data transactions as a result of the database failure; building a table of the identified dirty pages; analyzing the table of identified dirty pages using one or more predetermined criteria to determine which dirty pages are to be prioritized for processing during the transitional redo phase and prior to a full recovery provided during a final redo phase, when all other dirty pages will be processed; processing the prioritized dirty pages during the transitional redo phase and before the final redo phase is reached; and upon completion of a system transaction undo phase which corresponds to completion of all unprocessed data transactions of the prioritized dirty pages, making available to database users the previously prioritized dirty pages with the now completed data transactions for them that were processed during the transitional redo phase, making available to database users any other pages that were unaffected by the database failure, and then beginning the final redo phase to complete full database recovery for any remaining dirty pages that were not prioritized, such that all previously prioritized dirty pages with the now completed data transactions and the any other pages that were unaffected by the database failure are accessible by database users even-during the final redo phase, wherein any remaining dirty pages of the dirty page table that were not prioritized and are thus scheduled for processing during the final redo phase are latched before being accessed, such that during the final redo phase, if a page is waiting to be re-processed and if redo is not complete, user requests are blocked until the final redo phase completes processing the requested page.