Use the Indoubt Transaction
Manager window to work with indoubt
transactions. The window lists all indoubt transactions for a selected
database and one or more selected partitions.
An indoubt transaction is
a global transaction that was left in
an indoubt state. DB2® provides
heuristic actions that database administrators can perform on indoubt
transactions when the resource owner, such as the database administrator,
cannot wait for the Transaction Manager to perform the resync action.
This condition may occur if, for example, the communication line is
broken, and an indoubt transaction is tying up needed resources such
as locks on tables and indexes, log space, and storage used by the
transaction.
While it is preferable for the Transaction Manager
to initiate
the re-sync action, there may be times when you may have to perform
the heuristic actions on the indoubt transactions. In these cases,
use the heuristic actions with caution and only as a last resort and
follow these guidelines.
- The gtrid portion of the
transaction ID is the global transaction
ID that is identical to that in other resource managers (RM) that
participate in the global transaction.
- Use your knowledge
of the application and the operating environment
to identify the other participating resource managers,
- If
the transaction manager is CICS®,
and the only resource manager is a CICS resource,
perform a heuristic rollback.
- If the transaction manager
is not CICS,
use it to determine the status of the transaction that has the same gtrid as
the indoubt transaction.
- If, at least, one resource manager
has committed or rolled back,
perform a heuristic commit or rollback.
- If all the transactions
are in the prepared state, perform a heuristic
rollback.
- If, at least, one of the resource managers is not
available, perform
a heuristic rollback.
To open the Indoubt Transaction
Manager on Intel platforms,
from the Start menu,
click Start -→ Programs -→IBM DB2 -→Monitoring Tools -→Indoubt
Transaction Manager.
To open the Indoubt Transaction
Manager using the command line
in UNIX or on Intel, run the following command:
db2indbt
You can perform the following heuristic actions on indoubt transactions:
- Forget
This permits the resource manager to erase knowledge
of a heuristically completed transaction by removing the log records
and releasing log pages. A heuristically completed transaction is
one that has been committed or rolled back heuristically. You can
use the forget action on transactions that are heuristically committed
or rolled back for a selected database and one or more selected partitions.
To forget an indoubt transaction, select a database and partition
and then right-click a transaction with a status of Committed or Rolled
back and select Forget from the
pop-up menu. A confirmation message displays.
- Commit
This commits an indoubt transaction that is prepared
to be committed. If the operation succeeds, the transaction's state
becomes heuristically committed. To commit an indoubt transaction,
select a database and partition and then right-click a transaction
with a status of Indoubt or Missing
commit acknowledgement and select Commit from
the pop-up menu. A confirmation message displays.
- Rollback
This rolls back an indoubt transaction that has been
prepared. If the operation succeeds, the transaction's state becomes
heuristically rolled back. To roll back an indoubt transaction, select
a database and partition and then right-click a transaction with a
status of Indoubt or Ended and
select Rollback from the pop-up menu. A confirmation
message displays.
To perform these actions on
indoubt transactions you must have
SYSADM or DBADM authority.
The columns in the Indoubt Transaction
Manager window provide named
views that you can use to organize and display indoubt transactions
in different ways. The following list describes each of the columns
in the interface:
- Status
- The indoubt
status of the transaction, namely Committed (c), Ended
(e), Indoubt (i), Missing commit acknowledgement (m), and Rolled back
(r):
- Committed
- Transactions in this state
have been heuristically committed.
- Ended
- Transactions in this state may have timed out.
- Indoubt
- Transactions in this state are waiting
to be committed or rolled
back.
- Missing commit acknowledgement
- The Transaction Manager is waiting to receive an acknowledgement
before committing the transaction.
- Rolled
back
- Transactions in this state have been heuristically rolled
back
- Timestamp
- The
time stamp on the server when the transaction entered the
prepared (indoubt) state. The time is the local time to the client.
- Transaction ID
- The XA identifier assigned
by the transaction manager to uniquely
identify a global transaction.
- Application
ID
- The application identifier assigned by the database manager
for
this transaction.
- Authorization ID
- The
user ID of the user who ran the transaction.
- Sequence Number
- The sequence number assigned by the database
manager as an extension
to the application identifier.
- Partition
- The partition on which the indoubt transaction exists.
- Originator
- Indicates whether the transaction
was originated by XA or by DB2 in
a partitioned database environment.
- Log
Full
- Indicates whether this transaction caused a log full
condition.
- Type
- The type information
that shows the role of the database in each
indoubt transaction.
- TM indicates
the indoubt transaction is
using the database as a transaction manager database.
- RM indicates
the indoubt transaction is
using the database as a resource manager. This means that it is one
of the databases participating in the transaction, but is not the
transaction manager database.