Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 3 Operational Requirements for Adabas Access : Implementing Fail Safe Processing

Implementing Fail Safe Processing
Within a single instance of the server, Fail Safe level‑1 processing ensures data integrity for a TIBCO Object Service Broker transaction that updates both TDS data and one Adabas database.
The base Adabas architecture does not ensure integrity of data across Adabas databases, therefore placement of a TIBCO Object Service Broker Adabas transaction database should be made with care. Fail Safe level‑1 data integrity can only be ensured to the Adabas database containing the transaction database.
To ensure data integrity, configure the server for each Adabas database, each with its own transaction database. This prevents one TIBCO Object Service Broker transaction from updating files from more than one Adabas database.
Transaction Processing
At the successful end of a TIBCO Object Service Broker transaction, the Data Object Broker requests that outstanding updates be committed. During this process, the transaction database is updated.
The update to the transaction database and the Adabas data updates are committed together by one Adabas CL (Close) command. When the server responds with a successful completion to the Data Object Broker, the TIBCO Object Service Broker data is committed.
In-doubt Transactions
If the Data Object Broker does not receive a response from the server, the TIBCO Object Service Broker transaction is placed in-doubt. All outstanding TIBCO Object Service Broker locks are held until the in-doubt condition is resolved.
When a connection is re-established with the same instance of the server, the Data Object Broker asks the server to determine if the Adabas data for the in-doubt transaction was committed. The server reads the transaction database to determine the state of the Adabas data. If the Adabas data was updated, the Data Object Broker rolls forward the in-doubt transaction by committing TIBCO Object Service Broker data and releasing locks. If the Adabas data was not updated, the Data Object Broker rolls back the in-doubt transaction by discarding the intent list and releasing locks.
Definition of a Transaction Database
The transaction database is an Adabas file on an Adabas database. It is used by the server to ensure data integrity during Fail Safe level‑1 processing. You need to define an ADA table that points to this transaction database. A sample ADA table definition is supplied with the name @ADAFSTRXDB. Modify this definition to choose the Name, DBID, and FILE No for your transaction database. Any valid name can be used.
The FSTABLENAME startup parameter must equal the name of this ADA table, for example:
FSTABLENAME=@ADAFSTRXDB
The transaction database can be managed in TIBCO Object Service Broker like any other ADA table. For example, you can write a rule to clean up the Fail Safe database on shutting down the server.
Following are sample definitions for a transaction database:

 
ADACMP FNDEF='01,AA,008,A,DE'
ADACMP FNDEF='01,AB,008,A,DE'
ADACMP FNDEF='01,AC,004,B'
ADACMP FNDEF='01,AD,004,B'
ADACMP FNDEF='01,AE,004,B'
ADACMP FNDEF='01,AF,025,A'

 
See Also
TIBCO Object Service Broker for z/OS Managing Backup and Recovery for more information on Fail Safe processing.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved