Patent ReferencesConcurrently applying redo records to backup database in a log sequence using single queue server per queue at a time Replicating a database by the sequential application of hierarchically sorted log records System and method for providing hot spare redundancy and recovery for a very large database management system Method of automatically synchronizing mirrored database objects Patent #: 6289357 InventorsApplicationNo. 10260547 filed on 10/01/2002US Classes:707/8, Concurrency (e.g., lock management in shared database)707/201, Coherency (e.g., same view to multiple users)707/202, Recoverability707/204Archiving or backupExaminersPrimary: Mizrahi, Diane D.Attorney, Agent or FirmInternational ClassG06F017/30Claims1. A computer-implemented method of applying changes made at a primary database system to a standby database system, comprising: obtaining a change record from a log containing at least some of the changes, said change record belonging to a first transaction that was committed at a first commit time in the primary database system; associating the change record with a second transaction that was committed at a second commit time in the primary database system that is earlier than the first commit time, wherein said associating the change record with the second transaction includes determining that the second transaction involves a change to data that the first transaction affects based on a key value of a constraint column involved in the change record; and scheduling a task to apply the change record at the standby database system, said task configured to commit the first transaction in the standby database system after the second transaction has been committed in the standby database system. 2. A method as according to claim 1, further comprising: committing a third transaction at the standby database system after the first transaction was committed at the standby database system, wherein the third transaction was committed at a third commit time in the primary database system that is earlier than the first commit time. 3. A method as according to claim 1, wherein a constraint column includes an identification column, a column having a uniqueness constraint, and a column having a foreign key constraint. 4. A method as according to claim 1, further comprising: storing an entry identifying the second transaction and the second commit time in a hash table based on a key value of a constraint column involved in a change record belonging to the second transaction; wherein said determining includes looking up the entry in the hash table based on the key value of the constraint column involved in the change record. 5. A method as according to claim 1, wherein said associating the change record with the second transaction includes: determining that the second transaction involves change to a structure or instance of a database object. 6. A method as according to claim 1, wherein said associating the change record with the second transaction includes: determining that the second transaction involves a commit of a transaction that has change records that were applied by the task before a commit of the transaction was extracted from the log. 7. A computer-readable medium bearing instructions arranged to cause, upon execution, one or more processors to perform the method according to claim 1. 8. A computer-implemented method of applying changes made at a primary database system to a standby database system, comprising: extracting change records from a log containing at least some of the changes; associating at least some of the change records with respective transactions that were committed at earlier commit times in the primary database system than when the changes records were committed in the primary database system; and scheduling a plurality of tasks to apply the change records at the standby database system, said tasks configured to wait for committing the change records in the standby database system until after the associated transactions have been committed in the standby system, wherein at least two transactions have been committed in the standby database system in a different order than the order in which the at least two transactions have been committed in the primary database system. 9. A method as according to claim 8, further comprising: establishing a synchronization point based on an upper bound of commit times in the primary database system of transactions that have been committed in the standby database system; causing the tasks to delay committing the change records in the standby database system if commit times in the primary database system of the corresponding change records are greater than the synchronization point; determining when a lower bound of commit times in the primary database system of transactions that have been committed in the standby database system reaches the synchronization point; and in response to said determining, causing the tasks to resume committing the change records in the standby database system. 10. A method as according to claim 8, further comprising: reserving at least one of the tasks for applying change records a safe transaction, wherein a safe transaction either depends on no other transaction or only on another transaction that is safe. 11. A computer-readable medium bearing instructions arranged to cause, upon execution, one or more processors to perform the method according to claim 8. 12. A computer-implemented method of applying changes made at a primary database system to a standby database system, comprising: extracting change records from a log containing at least some of the changes; establishing a synchronization point based on an upper bound of commit times in the primary database system of transactions that have been committed in the standby database system; scheduling a plurality of tasks to apply the change records at the standby database system, said tasks configured to delay committing the change records in the standby database system if commit times in the primary database system of the corresponding change records are greater than the synchronization point; determining when a lower bound of commit times in the primary database system of transactions that have been committed in the standby database system reaches the synchronization point; and in response to said determining, causing the tasks to resume committing the change records in the standby database system. 13. A computer-readable medium bearing instructions arranged to cause, upon execution, one or more processors to perform the method according to claim 12. Other References
Field of SearchObject-oriented database structure referenceObject-oriented database structure Manipulating data structure (e.g., compression, compaction, compilation) Application of database or data structure (e.g., distributed, multimedia, image) Generating database or data structure (e.g., via user interface) DATABASE SCHEMA OR DATA STRUCTURE Object-oriented database structure processing Object-oriented database structure network FILE OR DATABASE MAINTENANCE Coherency (e.g., same view to multiple users) Recoverability Version management Archiving or backup File allocation |