Capturing and restoring database session state
First Claim
1. A computer-implemented method comprising:
- capturing a session state of a database session in a first database server as the database session exists at a point in time after a specified time point;
recreating, based on the session state, the database session in a second database server that is separate from the first database server;
receiving, from a user, a selection of two or more database sessions in the first database server;
for each particular database session of the two or more database sessions, suspending said each particular database session; and
after all of the two or more database sessions are suspended, capturing and storing a separate database session state for each particular database session of the two or more database sessions.
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.
78 Citations
6 Claims
-
1. A computer-implemented method comprising:
-
capturing a session state of a database session in a first database server as the database session exists at a point in time after a specified time point; recreating, based on the session state, the database session in a second database server that is separate from the first database server; receiving, from a user, a selection of two or more database sessions in the first database server; for each particular database session of the two or more database sessions, suspending said each particular database session; and after all of the two or more database sessions are suspended, capturing and storing a separate database session state for each particular database session of the two or more database sessions.
-
-
2. A computer-implemented method comprising:
-
capturing a session state of a database session in a first database server as the database session exists at a point in time after a specified time point; recreating, based on the session state, the database session in a second database server that is separate from the first database server; receiving, from a user, a selection of two or more database sessions that exist in the first database server; for each particular database session of the two or more database sessions; capturing and storing a session state of said each particular database session, after capturing and storing the session state of said each particular database session, suspending said each particular database session, and after all of the two or more database sessions are suspended, resuming each particular database session of the two or more database sessions.
-
-
3. A computer-implemented method comprising:
-
capturing a session state of a database session in a first database server 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; wherein capturing the session state of the database session in a first database server at the database session exists at the point in time after the specified time point comprises storing, on a non-volatile computer-readable storage medium, one or more variables that are contained in volatile memory of a first computer on which the first database server executes, along with one or more values of those one or more variables; wherein recreating, based on the session state, the database session in the second database server comprises loading, from the non-volatile computer-readable storage medium, and into a volatile memory of a second computer on which the second database server executes, the one or more variables along with the one or more values of those one or more variables; wherein the first computer is separate from the second computer; and wherein the first database server does not execute concurrently with the second database server.
-
-
4. 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 comprising:
-
capturing a session state of a database session in a first database server as the database session exists at a point in time after a specified time point; recreating, based on the session state, the database session in a second database server that is separate from the first database server; receiving, from a user, a selection of two or more database sessions that exist in the first database server; for each particular database session of the two or more database sessions; capturing and storing the session state of said each particular database session, after capturing and storing the session state of said each particular database session, suspending the particular database session, and after all of the two or more database sessions are suspended, resuming each particular database session of the two or more database sessions.
-
-
5. 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 comprising:
-
capturing a session state of a database session in a first database server as the database session exists at a point in time after a specified time point; recreating, based on the session state, the database session in a second database server that is separate from the first database server; receiving, from a user, a selection of two or more database sessions that exist in the first database server; for each particular database session of the two or more database sessions; capturing and storing a session state of said each particular database session, after capturing and storing the session state of said each particular database session, suspending said each particular database session, and after all of the two or more database sessions are suspended, resuming each particular database session of the two or more database sessions.
-
-
6. 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 comprising:
-
capturing a session state of a database session in a first database server 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; wherein capturing the session state of the database session in a first database server as the database session exists at the point in time after the specified time point comprises storing, on a non-volatile computer-readable storage medium, one or more variables that are contained in volatile memory of a first computer on which the first database server executes, along with one or more values of those one or more variables; wherein recreating, based on the session state, the database session in the second database server comprises loading, from the non-volatile computer-readable storage medium, and into a volatile memory of a second computer on which the second database server executes, the one or more variables along with the one or more values of those one or more variables; wherein the first computer is separate from the second computer; and wherein the first database server does not execute concurrently with the second database server.
-
Specification