Efficient database reads based on checkpoint avoidance
AssigneeOracle International Corporation
InventorNeil James Scott Macnaughton
Life of this patent
Estimating the term…
Abstract
Disclosed herein are techniques related to efficient database reads based on checkpoint avoidance. The techniques may include determining, by a database server instance in a multi-node database system, whether a database object is dirty. The multi-node database system may include a plurality of database server instances that share access to a database that stores the database object. The techniques may also include sending a request to one or more database server instances of the plurality of database server instances to perform a global checkpoint on the database object if the database object is dirty. The techniques may further include commencing an operation that requires reading the database object if the database object is not dirty.
Claims18
A method performed by one or more computing devices, said method comprising:
- a database server instance in a multi-node database system determining whether a database object is dirty, wherein said multi-node database system includes a plurality of database server instances that share access to a database that stores said database object, wherein determining whether a database object is dirty comprises checking a list of anti-locks for any anti-locks placed on database data blocks associated with said database object, said anti-locks preventing shared read locks from being granted, said anti-locks being created when messages are broadcasted to indicate that exclusive write locks are being granted, the list being maintained by each database server instance of said plurality of database server instances;
- when said database object is dirty, sending a request to one or more other database server instances of said plurality of database server instances to perform a global checkpoint on said database object;
- when said database object is not dirty, commencing an operation that requires reading said database object.
A method performed by one or more computing devices, said method comprising:
- a database server instance in a multi-node database system determining whether a database object is dirty, wherein said multi-node database system includes a plurality of database server instances that share access to a database that stores said database object, wherein determining whether a database object is dirty comprises checking a hash table that maps database objects to metadata indicating whether said database objects are dirty;
- when said database object is dirty, sending a request to one or more other database server instances of said plurality of database server instances to perform a global checkpoint on said database object;
- when said database object is not dirty, commencing an operation that requires reading said database object.
One or more non-transitory storage media storing one or more sequences of instructions which, when executed by one or more computing devices, cause:
- a database server instance in a multi-node database system determining whether a database object is dirty, wherein said multi-node database system includes a plurality of database server instances that share access to a database that stores said database object, wherein determining whether a database object is dirty comprises checking a list of anti-locks for any anti-locks placed on database data blocks associated with said database object, said anti-locks preventing shared read locks from being granted, said anti-locks being created when messages are broadcasted to indicate that exclusive write locks are being granted, the list being maintained by each database server instance of said plurality of database server instances;
- when said database object is dirty, sending a request to one or more other database server instances of said plurality of database server instances to perform a global checkpoint on said database object;
- when said database object is not dirty, commencing an operation that requires reading said database object.
One or more non-transitory storage media storing one or more sequences of instructions which, when executed by one or more computing devices, cause:
- a database server instance in a multi-node database system determining whether a database object is dirty, wherein said multi-node database system includes a plurality of database server instances that share access to a database that stores said database object, wherein determining whether a database object is dirty comprises checking a hash table that maps database objects to metadata indicating whether said database objects are dirty;
- when said database object is dirty, sending a request to one or more other database server instances of said plurality of database server instances to perform a global checkpoint on said database object;
- when said database object is not dirty, commencing an operation that requires reading said database object.
Dependencies are inferred from the claim text.