Transaction Tracking System

NetWare includes a transaction-monitoring feature called the Transaction Tracking SystemTM (TTSTM). If you flag a file as transactional, TTS can prevent corruption of records in the file by backing out of incomplete transactions and keeping a record of backed-out data.

NOTE:  A file flagged as transactional cannot be deleted or renamed.

TTS can also back out file truncations or extensions and multiple changes to the same data area during a single transaction. TTS can even back out interrupted backouts if the NetWare server fails in the middle of backing out transactions.

By default, NetWare uses TTS to protect the NDS® database from corruption. But TTS can protect against these types of failures for any type of application that issues record-locking calls and stores information in records, including traditional databases, some electronic mail applications, and some workgroup appointment schedulers.

Files that aren't organized into discrete records (such as word processing files) aren't protected by TTS.

TTS is available only for the traditional NetWare file system.

WARNING:  By default, TTS is enabled. Do not disable TTS intentionally because this will prevent updates to the NDS replicas on the server.

Transactions on a network can be saved improperly in any of the following situations:

If the server fails and the file has been flagged transactional, TTS backs out the transaction when the server comes up again. If a workstation or network transmission component fails, TTS backs out the transaction immediately.

NDS transactions are always backed out by TTS; you do not need to flag the NDS database in any way.


How TTS Works

TTS guarantees that all changes to a database file are either wholly completed or not made at all. TTS follows these steps to track transactions:

  1. When the application allocates a physical or logical record lock, TTS infers that the application is making a transaction. At this point, if you have flagged the file as transactional, TTS begins tracking the transaction so that the transaction can be backed out if a failure occurs.
  2. TTS makes a copy of the original data so the data can be restored if the transaction fails. A copy of the data is placed in a file external to the database. This external file contains all transaction backout information; only the operating system uses it.
  3. After the copy of the original data has been written to the backout file, TTS writes the changed data to the database file.
  4. TTS repeats Steps 2 and 3 for additional changes (a single transaction can consist of a sequence of changes).
  5. When all changed data has been written to disk, and the database application releases physical and logical record locks, TTS infers that the application has completed the transaction. TTS writes a record to the backout file, indicating that the transaction is complete, and stops tracking the transaction.

To learn how to use TTS, see Protecting Database Integrity with TTS.



Previous | Next