Database workload capture and replay
US-2017322972-A1 · Nov 9, 2017 · US
US2019102401A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2019102401-A1 |
| Application number | US-201816147314-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 28, 2018 |
| Priority date | Sep 29, 2017 |
| Publication date | Apr 4, 2019 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are disclosed herein for identifying, recording and restoring the state of a database session and various aspects thereof. A session template data structure is generated that includes session attribute values describing various aspects of the session that is established between a client system and a database management system (DBMS and enables the client system to issue to the DBMS commands for execution. Based on the session attribute values, DBMS may generate a template identifier corresponding to the session template data structure. The template identifier may be stored in an association with the session state that it partially (or in whole) represents. In an embodiment, when another state of a session is captured, if the template identifier for the state is the same, then rather than storing the attribute-value pairs for the other state, the template identifier is further associated with the other state. In an embodiment, a request boundary is detected where the session is known to be at a recoverable point. If recovery of the session is needed, the session state is restored, and replay of commands start from this point. Each command replayed is verified to produce the same session state as it produced by the original execution. If the session is determined to be a safe point, then all the commands recorded for replay prior to the safe point may be deleted. In an embodiment, the template is used to set the initial state when borrowing from a session pool. The state tracking is also used to identify that the session can be failed over safely during planned operation as the session is unlikely to drain by itself even when not used.
Opening claim text (preview).
What is claimed is: 1 . A computer-implemented method comprising: capturing a state of a database session by receiving a session state summary caused by execution of one or more commands on a first database server of a database management system (DBMS), the session state summary comprising a restorable session state summary and a non-restorable session state summary; generating a verification point associated with the session state summary, the verification point indicating that a replay of the one or more commands, stored in a replay context, can be verified using the session state summary; determining whether the non-restorable session state summary includes a modified state; based at least in part on determining that the non-restorable session state summary fails to include a modified state, determining that the verification point is a safe point; based on the determining that the verification point is a safe point, deleting information for a replay of the one or more commands and previously recorded commands. 2 . The method of claim 1 , further comprising: determining whether any transactional object is instantiated; based at least in part on determining that no transactional object is instantiated, determining that the verification point is a safe point. 3 . The method of claim 1 , wherein the one or more commands include a command with a side-effect and the method further comprising: determining whether the session state summary includes an indication for existence of a side-effect; based at least in part on determining that the session state summary fails to include an indication for existence of a side effect, determining that the verification point is a safe point. 4 . The method of claim 1 , wherein the restorable session state summary represents one or more client restorable attribute values representing one or more corresponding client restorable aspects of the database session, and the method further comprising storing the one or more client restorable attribute values in a replay context to be replayed. 5 . The method of claim 4 , further comprising: detecting the first database server of the DBMS becoming unavailable; retrieving from the replay context the one or more client restorable attribute values; establishing a new session with a second database server of the DBMS; requesting the second database server to restore the one or more corresponding client restorable aspects by sending a request to execute a command to update the one or more client restorable attribute. 6 . The method of claim 1 , wherein the restorable session state summary represents one or more server restorable attribute values representing one or more corresponding server restorable aspects of the database session and the method further comprising: detecting the first database server of the DBMS becoming unavailable; retrieving, from the replay context, one or more template identifiers for one or more session templates that store the one or more server restorable attribute values; establishing a new session with a second database server of the DBMS; requesting the second database server to restore the one or more corresponding server restorable aspects by sending a request to apply the one or more session templates that includes the one or more template identifiers. 7 . A computer-implemented method comprising: a first database server of a database management system (DBMS) receiving a request for execution of one or more commands through a database session; wherein a modification to an aspect of a session state of the database session can be caused by the execution of the one or more commands; after the execution of one or more commands, the first database server requesting state information for the aspect of the session state; generating a session state summary that includes the state information for the aspect of the session state; causing the session state summary to be stored as a verification point to verify, restore or recover the database session state when re-executing the one or more commands. 8 . The method of claim 7 , wherein the state information includes an indication whether the aspect of the session state has a modified state. 9 . The method of claim 8 , wherein the state information includes a session attribute value corresponding to the aspect of the session state. 10 . The method of claim 7 , further comprising generating a state signature based on the state information and storing the state signature in session state summary. 11 . The method of claim 7 , further comprising: the first database server receiving a second request for execution one or more second commands through the database session; wherein a modification to a second aspect of the session state of the database session can be caused by the execution of the one or more second commands; the first database server invoking a second component of the DBMS to execute the one or more second commands; the second component of the DBMS updating an indication that the execution by the second component of the DBMS failed to change the second aspect of the session state; after the execution of one or more commands, the first database server requesting state information for the second aspect of the session state; in response to requesting the state information for the second aspect of the session state, receiving the state information that includes an indication that the aspect of the session state has an unmodified state. 12 . The method of claim 7 , wherein the one or more commands are one or more first commands, and the aspect of the session state is a first aspect of the session state, and the method further comprising: the first database server invoking a first component of the DBMS to execute the one or more first commands; the first component of the DBMS updating an indication that the execution by the first component of the DBMS changed the first aspect of the session state; the first database server receiving a second request for execution one or more second commands through the database session; wherein a modification to a second aspect of the session state of the database session can be caused by the execution of the one or more second commands; the first database server invoking a second component of the DBMS to execute the one or more second commands; the second component of the DBMS updating an indication that the execution by the second component of the DBMS failed to change the second aspect of the session state; based on the indication that the execution by the first component of the DBMS changed the first aspect of the session state and the indication that the execution by the second component of the DBMS failed to change the second aspect of the session state, the first database server requesting the state information for the first aspect of the session state without requesting state information for the second aspect of the session state. 13 . The method of claim 7 , further comprising: a second database server of the DBMS receiving a request for a new execution of the one or more commands through the database session as part of a replay; after the new execution of the one or more commands, the second database server requesting state information for the aspect of a new session state; generating a new session state summary that includes new state information for the aspect of the new session state; causing a comparison of the new session state summary with the session state summary of the verification point to determine whether the new session state of the new session restores the session state.
involving logging of persistent data for recovery · CPC title
between a Database Management System and a front-end application · CPC title
using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185) · CPC title
Change logging, detection, and notification (replication G06F16/27) · CPC title
Database-specific techniques · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.