Remote duplicate database facility featuring safe master audit trail (safeMAT) checkpointing
First Claim
1. A distributed computer database system, comprising:
- a local computer system having a local database stored on local memory media, application programs that modify the local database, and a transaction manager that stores audit records in a local audit trail reflecting those application program modifications to the local database;
each audit record having an associated audit trail position in said local audit trail;
a remote computer system, remotely located from the local computer system, said remote computer system having a backup database stored on memory media associated with the remote computer system;
a communication channel for sending messages between said local computer system and said remote computer system; and
a remote data duplication facility, partially located in said local computer system and partially located in said remote computer system, for maintaining virtual synchronization of said backup database with said local database, including;
an extractor process executed by said local computer system that extracts audit records from said local audit trail and transmits said extracted audit records to said remote computer system, a first subset of said audit records denoting updates to said local database, each audit record of said first subset having a transaction identifier indicating an associated transaction, each audit record of a second subset of said audit records indicating a status of one of said transactions;
a receiver process executed by said remote computer system that receives said audit records transmitted by said extractor process and distributes said audit records to one or more image trail buffers in said remote computer system, each image trail buffer associated with an image trail file;
one or more updater processes executed by said remote computer system, wherein each updater process reads said audit records in an assigned one of said image trail files and initiates redo operations of updates specified in said audit records against an assigned portion of said backup database;
said image trail buffers having at least one master image trail buffer and one or more auxiliary image trail buffers, each of said auxiliary image trail buffers including audit records of said first subset, said master image trail buffer including audit records of said second subset;
each of said updater processes including instructions to request a specified status audit record prior to initiating redo operations associated with a corresponding audit record; and
said receiver process including instructions to flush each of said auxiliary image trail buffers to each of said respective image trail files before said master image trail buffer is flushed to its associated image trail file and to store in a memory a safeMATposition denoting an audit trail position of a last status audit record stored in said image trail file associated with said master image trail buffer.
4 Assignments
0 Petitions
Accused Products
Abstract
A local computer system has local database, application programs that modify the local database, an a transaction manager that stores audit records in a local audit trail reflecting those application program modifications to the local database. A remotely located computer system has a backup database. A remote data duplication facility (RDF) is partially located in the local computer system and partially in the remote computer for maintaining virtual synchronization of the backup database with the local database. The RDF includes an extractor process executed by said local computer system, and a receiver process and a plurality of updater processes executed by the remote computer system. The extractor process extracts audit records from a local audit trail and transmits those records to the receiver process. The receiver process distributes the audit records into one or more image trail files that are associated with a particular updater process. Each updater process reads the audit records in its assigned image trail file and initiates redo operations of database modifications denoted in at least a subset of the audit records against the backup database. Each image trail file has a corresponding image trail buffer that is used to accumulate a number of audit records before they are stored in the corresponding image trail file. Before an updater process applies an audit record against the backup database, it requests from the receiver process the status of the transaction associated with the audit record. Status audit records are stored in a transaction status table as well as in a master image trail file. The RDF system herein described provides a method and system for assuring that each audit record is preserved in the system in the event a failure occurs to any of the processes in the RDF.
168 Citations
24 Claims
-
1. A distributed computer database system, comprising:
-
a local computer system having a local database stored on local memory media, application programs that modify the local database, and a transaction manager that stores audit records in a local audit trail reflecting those application program modifications to the local database;
each audit record having an associated audit trail position in said local audit trail;a remote computer system, remotely located from the local computer system, said remote computer system having a backup database stored on memory media associated with the remote computer system; a communication channel for sending messages between said local computer system and said remote computer system; and a remote data duplication facility, partially located in said local computer system and partially located in said remote computer system, for maintaining virtual synchronization of said backup database with said local database, including; an extractor process executed by said local computer system that extracts audit records from said local audit trail and transmits said extracted audit records to said remote computer system, a first subset of said audit records denoting updates to said local database, each audit record of said first subset having a transaction identifier indicating an associated transaction, each audit record of a second subset of said audit records indicating a status of one of said transactions; a receiver process executed by said remote computer system that receives said audit records transmitted by said extractor process and distributes said audit records to one or more image trail buffers in said remote computer system, each image trail buffer associated with an image trail file; one or more updater processes executed by said remote computer system, wherein each updater process reads said audit records in an assigned one of said image trail files and initiates redo operations of updates specified in said audit records against an assigned portion of said backup database; said image trail buffers having at least one master image trail buffer and one or more auxiliary image trail buffers, each of said auxiliary image trail buffers including audit records of said first subset, said master image trail buffer including audit records of said second subset; each of said updater processes including instructions to request a specified status audit record prior to initiating redo operations associated with a corresponding audit record; and said receiver process including instructions to flush each of said auxiliary image trail buffers to each of said respective image trail files before said master image trail buffer is flushed to its associated image trail file and to store in a memory a safeMATposition denoting an audit trail position of a last status audit record stored in said image trail file associated with said master image trail buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A memory for storing data for access by programs being executed on a remote data processing system having a database system, said remote data processing system in communication with at least one local data processing system including a local database system that is synchronized with said remote database system, said memory comprising:
-
a receiver process executed by said remote data processing system that receives a plurality of audit records reflecting application program modifications to said local database system, said audit records stored in a local audit trail located in said local data processing system and having an associated audit trail position in said local audit trail; said receiver process distributing said audit records to one or more image trail buffers, each image trail buffer having an associated image trail file corresponding to an assigned updater process that reads said audit records and initiates redo operations of database modifications denoted in at least a first subset of said read audit records against an assigned portion of said remote database system, each of said audit records in said first subset having a transaction identifier denoting a corresponding transaction; said image trail buffers including at least one master image trail buffer associated with a master image trail file including a second subset of said audit records, each audit record of said second subset indicating a status associated with one of said transactions; and said receiver process including instructions to flush each of said image trail buffers to each of said respective image trail files before said master image trail buffer is flushed to said master image trail file and to store in a memory a safeMATposition denoting an audit trail position of a last status audit record stored in said master image trail file. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method for operating a distributed computer system including a local computer system having a database system, said local computer system in communication with a remote computer system having a backup database system at least partially replicating said local database system, said method comprising the steps of:
-
receiving a plurality of audit records extracted from an audit trail located in said local database system, said audit records reflecting application program modifications to said local database system, each audit record having an associated audit trail position in said audit trail, a first subset of said audit records denoting updates made to said local database system and including a transaction identifier denoting an associated transaction, each audit record of a second subset of said audit records denoting a status of one of said transactions and having a transaction identifier denoting said transaction; distributing each of said update audit records to one of a set of one or more image trail buffers, each image trail buffer associated with an image trail file assigned to at least one updater process associated with said remote computer system, each said updater process reading audit records stored in said assigned image trail file and initiating redo operations specified in said first subset of audit records against a corresponding portion of said backup database system; distributing each of said status audit records to a master image buffer associated with a master image trail file in said remote computer system; prior to flushing said status audit records in said master image buffer to said master image trail file, flushing said update audit records in each of said image trail buffers to said respective image trail file; and updating a safeMATposition with an audit trail position of a last stored status audit record written to said master image trail file. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification