Progress monitoring of the rollback process

If you obtain an application snapshot while a transaction is rolling back, you will see rollback monitor elements in the output. This information can be used to monitor the progress of the rollback operation.

The information provided in the application snapshot includes the start time of the rollback, the total work to be done, and completed work. The work metric is bytes.

The following is an example of output from the GET SNAPSHOT FOR ALL APPLICATIONS command:
            Application Snapshot

Application handle         = 6
Application status         = Rollback Active
      Start Time           = 02/20/2004 12:49:27.713720
      Completed Work       = 1024000 bytes
      Total Work           = 4084000 bytes

            Application Snapshot

Application handle         = 10
Application status         = Rollback to Savepoint
      Start Time           = 02/20/2004 12:49:32.832410
      Completed Work       = 102400 bytes
      Total Work           = 2048000 bytes
The value in the application status monitor element implies which type of rollback event is occurring:
Rollback Active
This is a unit of work rollback: an explicit (user invoked) or implicit (forced) rollback of the entire transaction.
Savepoint rollback
This is a partial rollback to a statement or application level savepoint. Nested savepoints are considered a single unit, using the outermost savepoint.

Completed Work units shows the relative position in the log stream that has been rolled back. Updates to Completed Work are made after every log record is processed. Updates are not performed evenly because log records vary in size.

Total Work units is an estimate based on the range of log records in the log stream that need to be rolled back for the transaction or savepoint. It does not indicate the exact number of log record bytes that need to be processed.