ARCHITECTURE OF DATABASE APPLICATION WITH ROBUST ONLINE RECOVERABILITY
First Claim
1. A computer implemented database application system for managing a transaction in a database, the system comprising:
- a database manager, an image manager, a rollback manager, a redo and undo log, a system tablespace, and a user tablespace, the user tablespace comprising;
a rollback timestamp tracking table that stores a table owner, a table name, a retention time, and an export timestamp;
a transaction identifier (id) tracking table that stores a transaction id, a user id, a session id, a starting timestamp, and an ending timestamp;
a user session tracking table that stores a user id, an operating system user id, a session id, a process id, a terminal id, a login timestamp, and a logout timestamp; and
application data, the application data comprising an after image table, a before image table, and an index, an after image view, a time-based after image view, and a history image view, wherein when a user performs a database operation on a row, the image manager inserts an original row, as the row existed prior to the database operation, into the before image table, updates parameters associated with the original row inserted into the before image table, and sets parameters associated with a modified row, as it existed after the database operation, in the after image table.
0 Assignments
0 Petitions
Accused Products
Abstract
An architecture for efficiently identifying the scope and timeframe of database errors, providing online history images, creating online point-in-time views of application tables, reconstructing equivalent SQL statements of a committed transaction or of a user session, providing a selective audit trail report on demand, and permitting selective online rollbacks in an application database. The rollback can be done on a single row, a single transaction, a group transactions, a user session, or all user tables. The system includes after images tables and before images tables and tracks all before images of user application tables when a user performs an INSERT, UPDATE, or DELETE operation with respect to a row in a table. Also, the system is provided to generate history images of application tables at a point-in-time, and to selectively rollback, or undo whole or a portion of application tables, to generate a selective audit trail report on demand, and to manage the before images.
-
Citations
20 Claims
-
1. A computer implemented database application system for managing a transaction in a database, the system comprising:
-
a database manager, an image manager, a rollback manager, a redo and undo log, a system tablespace, and a user tablespace, the user tablespace comprising;
a rollback timestamp tracking table that stores a table owner, a table name, a retention time, and an export timestamp;
a transaction identifier (id) tracking table that stores a transaction id, a user id, a session id, a starting timestamp, and an ending timestamp;
a user session tracking table that stores a user id, an operating system user id, a session id, a process id, a terminal id, a login timestamp, and a logout timestamp; and
application data, the application data comprising an after image table, a before image table, and an index, an after image view, a time-based after image view, and a history image view, wherein when a user performs a database operation on a row, the image manager inserts an original row, as the row existed prior to the database operation, into the before image table, updates parameters associated with the original row inserted into the before image table, and sets parameters associated with a modified row, as it existed after the database operation, in the after image table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer readable medium containing instructions that when executed operates as part of a database management system, the medium comprising:
-
an after image storing code segment that stores an after image of a row, the after image comprising an image of the row after a database operation is performed on the row;
a before image storing code segment that stores a before image of a row, the before image comprising an image of the row prior to a database operation being performed on the row;
an after image table viewing code segment that displays the after image of the row; and
a before image table viewing code segment that displays the before image of the row. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method of creating an online point-in-time view of an application table of an active database having a before image table and an after image table, the method comprising:
-
retrieving a retention time of the application table;
determining that a point-in-time is greater than or equal to the retention time; and
creating the online point-in-time view of the application table, the online point-in-time view comprising a union of a set of rows from the after image table as the set of rows existed in the after image table at the point-in-time, and a set of rows from the before image table as the set of rows existed in the after image table at the point-in-time. - View Dependent Claims (17, 18, 19, 20)
-
Specification