Home | Previous Page | Next Page   Distributed Data > Recovering Manually from Failed Two-Phase Commit > Determining If Manual Recovery Is Required >

Determining If a Transaction Was Implemented Inconsistently

Your first task is to determine whether the transaction was implemented inconsistently as a result of an independent action.

Global Transaction Ended Prematurely

If you executed an onmode -z command to end the global transaction on the coordinator, the transaction might be inconsistently implemented. (For an explanation of how this situation can arise, see Independent Actions That Result in an Error Condition.) You can check for an inconsistent transaction by first examining the database server message log for the coordinator. Look for the following error message:

-716 Possible inconsistent transaction. 
Unknown servers are server-name-list.

This message lists all the database servers that were participants. Examine the logical log of each participant. If at least one participant performed a commit and one performed a rollback, the transaction was inconsistently implemented.

Heuristic End Transaction

If you executed an onmode -Z address command to end a piece of work performed by a participant, and the coordinator decided to commit the transaction, the transaction is implemented inconsistently. (For a description of this scenario, see The Heuristic End-Transaction Scenario.) Examine the logical log of each participant. If at least one participant performed a commit and one performed a rollback, the transaction was inconsistently implemented.

Heuristic Rollback

You can determine the specific database server participants affected by a heuristic decision to roll back a transaction in the following ways:

Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]