Overview of backing out transactions

Backing out application transactions can pose certain dilemmas. Problem transactions can be difficult to identify, analyze, and correct.

In addition, you might need to preserve transactions that were not in error but affected the same rows as the problem transactions. These type of problems can require complex analysis.

The following table lists the Log Master solutions for handling problem transactions.

Feature

Description

Backout integrity checking

Backout integrity checking compares changes of interest to any subsequent updates and shows problems and potential solutions in concise reports.

SQL generation

The Log Master SQL generator offers features to undo or redo specific transactions. The WHERE clauses that the product generates are based on available index information. You can control whether updates resulting from referential integrity or trigger activity are a part of the correction process.

SQL processing

The High-speed Apply Engine 1distributed with Log Master executes the product’s generated SQL statements. Two methods of executing SQL are available in the Log Master online interface, but these methods provide only a subset of High-speed Apply features. To access all features of High-speed Apply, independently code JCL and define configuration parameters to run the product. Some important High-speed Apply features include:

  • Multi-threaded access to Db2

  • Restart processing

  • More control over responses to SQL codes

Use the Log Master online interface to enter values for a subset of High-speed Apply configuration parameters and generate High-speed Apply JCL.

The product can execute any set of SQL statements accepted by the target database (generated either by Log Master or by some other process).

For more information, see Running SQL or see the High-speed Apply Engine documentation Open link .

1 The Log Master installation process includes the required installation of High-speed Apply. The High-speed Apply Engine honors passwords for Log Master the Recovery Management for Db2 solution, or itself.

What to consider when selecting a backout strategy

The BMC AMI Log Master for Db2 product provides several features for backing out problem transactions.

Backout procedures usually include the following tasks:

  • Identifying and analyzing problem transactions

  • Creating UNDO SQL to back out transactions

  • Creating REDO SQL to reapply transactions after a recovery

The following table summarizes the factors involved in each backout procedure.

Selecting a backout strategy

Factors to consider

Procedure used: UNDO

Procedure used: REDO

Reference

SQL statements

How many SQL statements will be generated to undo problem transactions?

How many SQL statements will be generated for the table spaces from the point of consistency selected to CURRENT, excluding the problem transaction?

Analysis of problem transactions

State of the system

Transactions can continue to access the table space during this process.

The Db2 table space must be stopped at least for REDO generation and the recovery phase of process.

Recovery time

N/A

How much time will be needed to recover table spaces and indexes.

Execution of SQL statements

How much time will be needed to execute UNDO SQL?

How much time will be needed to execute REDO SQL?

You can generate both UNDO and REDO SQL at the same time, and then compare the volume of statements generated and review any anomalies, before making a decision. For more information about anomalies, see Performing backout integrity checking.

If you choose REDO SQL, the table space involved must be stopped during generation and remain stopped until you complete the recovery.

Special considerations in the Db2 log

As you plan and implement a backout action, be aware of special circumstances that can occur in the Db2 log that you might need to accommodate.

For example, when Log Master scans the Db2 log records resulting from certain load actions, it can encounter log records that cause it to generate SQL statements that, when executed, result in negative SQL codes. Similarly, if the load action includes duplicate rows in the data that is loaded, you can encounter negative SQL codes. For more information about special considerations for output files and SQL, see the section about Considerations for output files and SQL.

Was this page helpful? Yes No Submitting... Thank you

Comments