Progress
Database Administration
Guide and Reference


Resolving Limbo Transaction Scenarios

This section describes three scenarios in which you must resolve limbo transactions.

Scenario 1: You Are On a Client Machine and the Server Fails

If you are on a client machine running a distributed transaction and something goes wrong with the server, PROUTIL displays this message:

Part of the distributed transaction may have failed. (2022) 

This message does not necessarily mean that a transaction failed. Occasionally, a transaction commits properly, but a network communication failure intercepts the server’s message verifying that it committed. When you see this message, or any similar message, the database administrator must determine whether a limbo transaction occurred, then resolve the limbo transaction.

To resolve limbo transactions, you complete the transactions from the point where they were interrupted by the hardware or software failure. If the coordinator committed the transactions, you must commit the transactions. If the coordinator did not commit the transactions, you must abort the transactions.

Scenario 2: You Are Starting Up PROUTIL and Have a Power Failure

You have a power outage that shuts down all of the machines on your network. When the power is restored, you try to start a PROUTIL session. PROUTIL fails to open the database and displays a message similar to this:

13:27:04 SRV  0: Multi-user session begin. (333) 
13:27:05 SRV  0: The database contains limbo transactions. (2043) 
13:27:05 SRV  0: See list on the log file .lg. Use PROUTIL sports2 -C 2phase 
  recover. (2042) 
13:27:06 ** The server terminated with exit code 20. (800) 

This message indicates that limbo transactions must be resolved. Consult the log file for a record of the limbo transactions.

Scenario 3: You Are On a Client Machine and It Fails

Suppose a hardware or software failure occurs on a running client machine, or a user inadvertently powers off a machine while the database is running. PROUTIL cannot display a message indicating that a limbo transaction occurred, since the client machine is down. In this situation, use the PROMON utility against the server to determine whether any limbo transactions occurred. If so, resolve them.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095