Patent ID: 6782399
Filing Date: 2004-08-24
Classification: G06F,Y10S

Abstract:
A method of operating a backup system so as to replicate database updates performed on a primary system, the method comprising:receiving a first stream of first audit records from the primary system, the first audit records including first audit update records and first audit backout records indicating database updates and database backouts pertaining to database transactions performed on the primary system, each first audit record further including an audit trail position indicator unique to the first stream; receiving a second stream of second audit records from the primary system, the second audit records including second audit update records and second audit backout records indicating database updates and database backouts pertaining to the database transactions, each second audit record further including an audit trail position indicator unique to the second stream; the first stream of first audit records further comprising control records that have sufficient information to enable the backup system to determine, upon occurrence of a predetermined event, whether a commit/abort outcome for each of the database transactions is known and whether the first stream of first audit records and the second stream of the second audit records received by the backup system contain a complete set of audit records for each of the database transactions with known commit/abort outcomes; storing the control records in a first image trail; storing the first audit update records and the first audit backout records in one or more second image trails; storing the second audit update records and the second audit backout records in one or more third image trails; for each second image trail, sequentially applying to a backup database database updates and database backouts indicated by the first audit update records and first audit backout records in the second image trail, without regard to whether corresponding transactions in the primary system committed or aborted; for each third image trail, sequentially applying to the backup database database updates and database backouts indicated by the second audit update records and the second audit backout records in the third image trail, without regard to whether corresponding transactions in the primary system committed or aborted; upon occurrence of the predefined event, determining an undo set of transactions comprising transactions for which a commit/abort outcome is unknown and transactions for which the commit/abort outcome is known but for which the backup system comprises an incomplete set of audit records; and for each second image trail and for each third image trail, undoing database updates for the undo set of transactions.