发明名称 Tracking redo completion at a page level
摘要 Embodiments are directed to implementing a transitional redo phase to allow pre-redo phase data access and to determining which data pages including unprocessed transactions are to be processed during a transitional redo phase. In an embodiment, a computer system initiates an analysis phase of a database recovery that scans a database transaction log and builds a dirty page table that includes pages corresponding to unprocessed data transactions. The computer system determines from the dirty page table which pages are to be processed during the transitional redo phase, before the final redo phase. The computer system processes the determined pages during the transitional redo phase, before the final redo phase is reached and, upon completion of the system transaction undo phase, makes available those pages that were processed during the transitional redo phase, as well as those database pages that are not scheduled for processing during the final redo phase.
申请公布号 US9384100(B2) 申请公布日期 2016.07.05
申请号 US201414468556 申请日期 2014.08.26
申请人 Microsoft Technology Licensing, LLC 发明人 Dhamankar Robin Dhananjay;Kodavalla Hanumantha Rao
分类号 G06F11/14;G06F17/30 主分类号 G06F11/14
代理机构 代理人 Mehta Aneesh;Barker Doug;Minhas Micky
主权项 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, scanning a database transaction log to identify dirty pages that represent pages having unprocessed data transactions; determining 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; making available to database users previously prioritized dirty pages with completed data transactions for the previously prioritized dirty pages that were processed during the transitional redo phase; and beginning the final redo phase to complete full database recovery for the dirty pages, 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 during the final redo phase, wherein any remaining dirty pages of the dirty page table that were not prioritized 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.
地址 Redmond WA US