In a production environment, the various Adabas and Adabas Transaction Manager components should normally be started and allowed to initialize, one after the other, in the following order:
The Adabas database which contains the Adabas System Coordinator’s
configuration file (regardless of its ADARUN DTP=
parameter setting)
The Adabas System Coordinator daemon within which the TM runs as a service.
Adabas databases that run with ADARUN DTP=RM
(referred to as Adabas RMs).
Adabas databases that run with ADARUN
DTP=NO
.
Applications
As each Adabas RM starts, recovery is negotiated with the local TM for any transactions that may have been incomplete when the Adabas RM last terminated (normally or abnormally).
Whether the TM starts before an Adabas RM or after, each incomplete transaction is finally committed or backed out at the earliest opportunity; that is, when all the necessary information is available to the TM at the root of the transaction and all the Adabas RMs, peer TMs and any other vendor transaction frameworks that were involved in the transaction are available.
When an Adabas RM starts before the TM, and it has prepared transactions that have not completed, full use of that database is possible only when the TM has initialized and carried out restart processing for the incomplete transactions. Until this occurs, the resources of the incomplete transactions are held, and the owner of the transaction is not permitted to work on that database.
If the TM encounters a serious error while trying to resolve an
incomplete transaction during restart, details are reported to the operator and
to DDPRINT
for up to 100 problematic transactions.
Thereafter, errors are reported in the DDPRINT
dataset only.
The following procedure should be followed when closing down an Adabas RM:
Make sure that any TM to which the Adabas RM is connected to is active (connection messages are written to the Adabas RM output file).
Issue an ADAEND
command to the Adabas
RM.
If the Adabas RM is not currently taking part in distributed
transactions, Adabas will action the ADAEND
request
without further intervention from Adabas Transaction Manager.
If the Adabas RM is currently taking part in distributed transactions, the following process will occur:
The Adabas RM will prompt the appropriate TM to quiesce all outstanding transactions which involve this Adabas RM. An ATM171 message acknowledging this request is written to the Adabas RM output file.
The TM quiesces all appropriate transactions and signals the Adabas
RM that the ADAEND
process can continue. An ATM173
message indicating a successful quiesce is written to the Adabas RM output
file.
The Adabas RM closes down.
The following procedure should be followed when closing down a TM:
Issue an ATM END
command to the Adabas
System Coordinator daemon in which the TM is running.
If there are no incomplete distributed transactions, the TM will close down immediately.
If there are incomplete distributed transactions, the following process will occur:
An ATM103 message will be issued for each of the first five incomplete transactions.
This ATM103 message will be repeated at 60 second intervals until all transactions are complete.
When all transactions are complete, the TM will close down.
Warning: Once a TM service closes down within a System Coordinator daemon it can only be restarted by stopping and starting the System Coordinator daemon. |