Method of processing a synchronization point in a database management system to assure a database version using update logs from accumulated transactions
First Claim
1. In a database management system for performing a plurality of transactions concurrently, in which a restart recovery process is assumed at an occurrence of a system failure, a method for acquiring a synchronization point (syncpoint) for assuring a database version on an external storage, said syncpoint being determined at each interval at which database update logs from the transactions are accumulated (incremented) to a given amount, said method comprising the steps of:
- assigning, at the beginning of acquisition of a syncpoint, a mark indicating that syncpoint acquisition is in progress, the tables controlling all updated pages in a buffer pool mapped onto a main storage, said buffer pool including a plurality of buffers for storing respective pages, said updated pages not having been written into a database of an external storage;
writing, during the syncpoint acquisition, the updated pages for the marked table to the database of the external storage;
executing a transaction for further updating specific ones of the updated pages for the marked tables during the syncpoint acquisition process, before the updated page or pages are accessed, writing the further updated specific page or pages to said database, removing the mark from the control table for the further updated specific pages to allow a request of access to the further updated specific pages; and
determining, in response to termination of the write operation to said database, that the syncpoint acquisition is completed at the end of the write operation for all updated pages for the marked tables.
1 Assignment
0 Petitions
Accused Products
Abstract
In a database management method and a database management system in which transactions need not be stopped at a synchronization point (syncpoint) acquired at a fixed interval of time, when a point to acquire a syncpoint is reached in a database control procedure, a syncpoint acquisition start log is output and then a syncpoint acquisition flag is set ON in a page control table of each updated page existing in a buffer pool. In the operation, a list of update page control tables is also created to write in the database the pages which are indicated in the list thus prepared. However, for a transaction accessing the pertinent updated page prior to the write operation thereof in the database, the data write operation is performed before the page is referenced, thereby enabling the access to be performed to the database without interrupting the transaction.
-
Citations
13 Claims
-
1. In a database management system for performing a plurality of transactions concurrently, in which a restart recovery process is assumed at an occurrence of a system failure, a method for acquiring a synchronization point (syncpoint) for assuring a database version on an external storage, said syncpoint being determined at each interval at which database update logs from the transactions are accumulated (incremented) to a given amount, said method comprising the steps of:
-
assigning, at the beginning of acquisition of a syncpoint, a mark indicating that syncpoint acquisition is in progress, the tables controlling all updated pages in a buffer pool mapped onto a main storage, said buffer pool including a plurality of buffers for storing respective pages, said updated pages not having been written into a database of an external storage; writing, during the syncpoint acquisition, the updated pages for the marked table to the database of the external storage; executing a transaction for further updating specific ones of the updated pages for the marked tables during the syncpoint acquisition process, before the updated page or pages are accessed, writing the further updated specific page or pages to said database, removing the mark from the control table for the further updated specific pages to allow a request of access to the further updated specific pages; and determining, in response to termination of the write operation to said database, that the syncpoint acquisition is completed at the end of the write operation for all updated pages for the marked tables. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A database system including a computer system having a central processing system (CPU) and a main storage, an external storage having a database and terminals, said computer system further including a database management system which comprises:
means for acquiring a synchronization point (syncpoint) in said database management system for enabling a plurality of transactions to be performed concurrently in which a restart recovery process is assumed at an occurrence of a system failure, said syncpoint assuring a database version on said external storage, said syncpoint being determined at each interval at which database update logs from the transactions are accumulated (incremented) to a given amount, said means comprising; a buffer and page control tables, an update page control table, mark means for assigning, at the beginning of an acquisition of a syncpoint, a mark indicating that syncpoint acquisition is in process to tables controlling all updated pages in a buffer pool mapped onto said main storage, said buffer pool including a plurality of buffers for storing respective pages, said updated pages not having been written into a database of said external storage, write means for writing, during the syncpoint acquisition, the updated pages for the marked table to the database of said external storage, update and access control means for further updating specific ones of the updated pages for the marked tables during the syncpoint acquisition process, before the specific updated pages are accessed, writing the further updated specific pages to said database, removing the mark from the control table for the further updated specific pages to allow a request of access and to the further updated specific pages, and determining means for determining, in response to termination of a write operation of said database, that the syncpoint acquisition has been completed at the end of the write operation for all updated pages for the marked tables. - View Dependent Claims (7, 8, 13)
-
9. For a database management system for performing a plurality of transactions concurrently, in which a restart recovery process is assumed at an occurrence of a system failure, a method for acquiring a synchronization point (syncpoint) for assuring a database version on an external storage, said syncpoint being determined at each interval at which database update logs from the transactions are accumulated (incremented) to a given amount, said method comprising the steps of:
-
assigning, at the beginning of acquisition of a syncpoint, a mark indicating that syncpoint acquisition is in progress to tables controlling all updated pages in a buffer pool mapped onto a main storage, said buffer pool including a plurality of buffers for storing respective pages, said updated pages not having been written into a database of an external storage; writing, during the syncpoint acquisition, the updated pages for the marked control table to the database of the external storage; executing a transaction for further updating specific ones of the updated pages for the marked control table during the syncpoint acquisition process, before the updated page or pages are accessed, writing the further updated specific page or pages to said database, removing the mark from the marked control table for the further updated specific pages to allow a request of access to the further updated specific pages; determining, in response to termination of the write operation to said database, that the syncpoint acquisition is completed at the end of the write operation for all updated pages for the marked tables; detecting a point of time relative to a previous syncpoint acquiring point when an amount of log data written in a log file reaches a predetermined value; setting said detected point of time as a pre-syncpoint acquisition point; and asynchronously writing the updated pages in said buffer pool to said external storage of said database during a period of time ranging from the pre-syncpoint acquisition point to the beginning of syncpoint acquisition; wherein said pre-syncpoint acquisition process comprises the steps of; determining, at the beginning of syncpoint acquisition, whether or not the pre-syncpoint acquisition is completed; correcting, when the pre-syncpoint acquisition is not completed, a setting value of the beginning of pre-syncpoint acquisition to a point of time earlier than that indicated by the setting value according to the number of updated pages in the buffer not written in the database; and correcting, when the pre-syncpoint acquisition is completed, a setting value of a start point of presyncpoint acquisition to a point of time delayed as compared with a point of time indicated by the setting value according to the number of updated pages existing in the buffer when the syncpoint acquisition is performed.
-
-
10. A database system including a computer system having a central processing system (CPU) and a main storage, an external storage having a database and terminals, said computer system further including a database management system which comprises:
-
means for acquiring a synchronization point (syncpoint) in said database management system for enabling a plurality of transactions to be performed concurrently in which a restart recovery process is assumed at an occurrence of a system failure, said syncpoint being determined at each interval at which database update logs from the transactions are accumulated (incremented) to a given amount, said means comprising; a buffer and page control tables, an update page control table, mark means for assigning, at the beginning of an acquisition of a syncpoint, a mark indicating that syncpoint acquisition is in process to tables controlling all updated pages in a buffer pool mapped onto said main storage, said buffer pool including a plurality of buffers for storing respective pages, said updated pages not having been written into a database of said external storage, write means for writing, during the syncpoint acquisition, the updated pages for the marked control table to the database of said external storage, update and access control means for further updating specific ones of the updated pages for the marked control table during the syncpoint acquisition process, before the specific updated pages are accessed, writing the further updated specific pages to said database, removing the mark from the control table for the further updated specific pages to allow a request of access and to the further updated specific pages, and determining means for determining, in response to termination of a write operation of said database, that the syncpoint acquisition has been completed at the end of the write operation for all updated pages for the marked tables; and means for detecting a point of time relative to a previous syncpoint acquiring point when an amount of log data written in a log file reaches a predetermined value, wherein said update and access control means includes a pre-syncpoint processing means for asynchronously writing the updated pages in said buffer pool to said external storage of said database during a period of time ranging from the pre-syncpoint acquisition point to the beginning of syncpoint acquisition. - View Dependent Claims (11, 12)
-
Specification