Progress
Database Administration
Guide and Reference
Resolving Limbo Transactions With the Database In Use
Use PROMON to resolve limbo transactions while the database is still in use. You can only run PROMON against a database if a server is running against the database. If no server is running, or if at any point during this procedure PROMON will not run against a database, see the "Resolving Limbo Transactions With the Database Shut Down" section.
Follow these steps to resolve limbo transactions with PROMON:
- Determine whether one or more limbo transactions occurred against a database by starting the PROMON database monitor. Enter the following command:
db-name
Specifies the database you want to monitor.
When you enter the PROMON utility, the main menu appears:
- Choose option T (Transaction Control). PROUTIL displays a screen similar to this:
- Choose option 1 (Display all entries). PROUTIL displays a screen similar to this:
NOTE: If you run PROMON against a database where no limbo transaction has occurred, PROMON does not display any field information on the Transaction Control screen.
![]()
Take note of any limbo transactions. For example:
![]()
A transaction is in limbo if yes is displayed in the Limbo field. For each limbo transaction, write down the following information:
- The user number, shown in the Usr field
- The name of the coordinator database, shown in the Coord field
- The transaction number of the transaction in the coordinator database, shown in the Crd-task field
You need this information to resolve the limbo transaction.
To resolve limbo transactions, you must consult the coordinator database of each transaction to see if the coordinator committed the transaction. 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 terminate the transaction on the database where the limbo transaction occurred.
- For each limbo transaction, run PROMON against the coordinator database to determine whether the coordinator committed the transaction.
- From the PROMON main menu, choose option C (Coordinator Information). PROUTIL displays a screen similar to this:
NOTE: If the coordinator database is shut down and you cannot run PROMON against it, you must use the 2PHASE COMMIT qualifier of PROUTIL to determine whether it committed the transaction. For more information, see the "Resolving Limbo Transactions With the Database Shut Down" section.
NOTE: To commit transactions on a database that is shut down, you must use the 2PHASE RECOVER qualifier of PROUTIL. For more information, see the "Resolving Limbo Transactions With the Database Shut Down" section.- Enter the transaction number that you recorded from the Crd-task field in Step 3, and press RETURN. PROUTIL displays a message that tells you whether the transaction committed.
- Run PROMON against the database where the limbo transaction occurred to commit or abort each limbo transaction.
- From the PROMON main menu, choose option L (Resolve Limbo Transactions). This menu appears:
- To commit the transaction, choose 2 (Commit a Limbo Transaction). PROUTIL prompts you to enter the user number you recorded in Step 3, then press RETURN. PROUTIL displays a message similar to this:
To abort the transaction, choose 1 (Abort a Limbo Transaction). PROUTIL prompts you to enter the user number of the transaction you want to abort. Enter the user number, then press RETURN.
Repeat Steps 4 through 9 for all the limbo transactions. 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 |