TMF Operations and Recovery Guide (G06.26+)
Recovery Methods
HP NonStop TMF Operations and Recovery Guide—522417-003
7-32
Recovering From a Complete System Failure
now have unresolved transaction information from the perspective of both nodes. Use
this information and the instructions in Table 7-1, Resolving Distributed Transactions
After Recovering a Database to resolve the distributed transactions.
Refer to the TMF Reference Manual for instructions on using the RESOLVE
TRANSACTION command.
In a heterogeneous distributed transaction environment, the steps you take to continue
transaction processing are quite different. After a parent node fails and the child node
takes over, at the child node during TMF startup, the resource managers involved in
the pending heterogeneous transactions must be opened by the resource manager
gateway processes. In response to the open operation, all in-doubt transactions
pertaining to these resource managers will be sent to the gateway processes. As the
restart operation continues, all of these in-doubt transactions will be completed. TMF
does not finish starting at the child node, and new transactions cannot begin, until the
outcome of all in-doubt transactions is determined.
If the TMF system at the child node cannot communicate with a foreign transaction
manager and any imported transaction branches remain in the in-doubt state, TMF
startup will wait until the transactions are complete. If you cannot restore the
communication path or cannot wait for this to occur, you may have to manually resolve
the pending imported transactions. Notice that if exported transactions in the in-doubt
Table 7-1. Resolving Distributed Transactions After Recovering a Database
There are unresolved
transactions between
the parent and child
nodes.
The failing node
is a parent node.
If the STATUS TRANSACTION command
shows the transaction is in the committed
state, issue the RESOLVE TRANSACTION
command with the state COMMITTED at the
child node when the child node is again
running its own configuration
.
The failing node
is a child node.
If the STATUS TRANSACTION command
shows the transaction is in the prepared state,
issue the RESOLVE TRANSACTION
command based on the transaction’s state as
listed in the STATUS TRANSACTION display
on the parent node.
There are no
unresolved
transactions between
the parent and child
nodes, but there are
unresolved
transactions between
the parent node and
other nodes or
between the child node
and other nodes.
The failing node
is a parent node.
If the STATUS TRANSACTION command
shows the transaction is in the committed
state, the transaction will commit at the parent
node. Use the RESOLVE TRANSACTION
command to resolve the transaction as
committed at all child nodes.
The failing node
is a child node.
If the STATUS TRANSACTION command
shows the transaction is in the prepared state,
issue the RESOLVE TRANSACTION
command based on the transaction’s state as
listed in the STATUS TRANSACTION display
on the parent node.