Progress
Database Administration
Guide and Reference
Resolving Limbo Transactions With the Database Shut Down
To resolve limbo transactions for a database that is shut down, use the PROUTIL utility. If a server is running against the database, use PROMON to resolve the transactions.
Follow these steps:
- To determine whether one or more limbo transactions occurred against a database that is shut down, try to start a PROUTIL session against the database. If limbo transactions occurred, the PROUTIL session fails to start and PROUTIL displays output similar to the following, or writes it to the event log file for the database. If the PROUTIL session starts successfully against a database, no limbo transactions have occurred on the database:
![]()
For all the listed limbo transactions, capture the following information:
- The transaction number on the current database (that is, the database where you tried to start the PROUTIL session)
- The name of the coordinator database
- The transaction number in the coordinator database
Once you have this information, you must consult the coordinator database to determine whether it committed or aborted the transaction.
- Enter the following command against the coordinator database to determine if the coordinator committed or aborted the limbo transaction:
db-name
Specifies the coordinator database.
tr-number
Specifies the number of the transaction to check. Specify the number of the transaction on the coordinator database.
If the coordinator committed the transaction, PROUTIL displays a message similar to this:
If the coordinator database committed the transaction, you must also commit the transaction on the database where the limbo transaction occurred. If the coordinator did not commit the transaction, you must abort the transaction on the database where the limbo transaction occurred.
- Commit or abort the limbo transactions, depending on whether the coordinator committed or aborted the transaction in Step 2.
Use the PROUTIL 2PHASE RECOVER utility to commit or abort transactions for a database. Before you enter this command, determine whether you will commit or abort each transaction; you must either commit or abort all limbo transactions to complete this command:
db-name
Specifies the database with the limbo transaction.
When you run this command against a database with limbo transactions, PROUTIL displays a message similar to this:
If you respond yes, PROUTIL commits the transaction. If you respond no, PROUTIL aborts the transaction.
PROUTIL displays this message for all of the limbo transactions that exist in the database.
After you commit or abort all of the limbo transactions, they are resolved.
Copyright © 2004 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |