CAPTURING AND RESTORING DATABASE SESSION STATE
First Claim
1. A computer-implemented method comprising:
- capturing a session state of a database session as the database session exists at a point in time after a specified time point; and
recreating, based on the session state, the database session in a second database server that is separate from the first database server.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described herein for capturing and restoring database session state. Production database server components save the session state of each of a plurality of database sessions. The components store workload units that are processed in these sessions. The components store updated session states in response to certain events. Thus, the components may capture multiple session states, pertaining to various different points in time, for each session. The captured session states and the captured workload are moved to a test database server. A user selects, from among the time points represented by the session states, a point in time at which the user would like workload replay to begin. Sessions are re-created on the test database server. Session states of these sessions are set to reflect the session states as they existed at the user-selected time point. Workload units are replayed in the sessions relative to the test database server.
122 Citations
23 Claims
-
1. A computer-implemented method comprising:
-
capturing a session state of a database session as the database session exists at a point in time after a specified time point; and recreating, based on the session state, the database session in a second database server that is separate from the first database server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A volatile or non-volatile computer-readable storage medium storing instructions, the instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
capturing a session state of a database session as the database session exists at a point in time after a specified time point; and recreating, based on the session state, the database session in a second database server that is separate from the first database server. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-implemented method comprising:
-
synchronizing multiple sessions at a transaction boundary during a capture process and a restore process while making no change to a database state of a database during the capture and restore process; and ensuring transactional consistency between concurrently executing transactions during the capture process and the restore process by performing steps comprising; a coordinator session marking a particular session with a suspend option; suspending one or more user sessions once the one or more user sessions reach both a capture boundary of a particular transaction and a current call boundary, and when capture criteria are met; after each selected session of a plurality of selected sessions reaches the capture boundary and each selected session of the plurality of selected sessions is suspended, the coordinator session initiating capture of each selected session of the plurality of suspended sessions, thereby aligning captured session states of each selected session of the plurality of selected sessions to a particular database system change number; maintaining the particular session in a suspended state after the particular session captures a session state of the particular session, until all the selected sessions of the plurality of selected sessions are done with a capture process and until the coordinator resumes workload; restoring each selected session of the plurality of sessions during the restore process after each selected session of the plurality of sessions has stabilized; suspending a restored version of the particular session after the restore process, until all of the selected sessions of the plurality of selected sessions are done restoring; wherein, throughout the capture process and the restore process, no change is made to the database state of the database; serializing session states of each selected session of the plurality of selected sessions to external storage; wherein no change needs to be committed in the database during the capture process and the restore process.
-
Specification