Product Documentation

Database Integrity Utilities

Previous Topic

Next Topic

ctclntrn Utility - Clean Transaction Mark

Operational Model:

  • Standalone

Usage:

ctclntrn [-<page size in bytes>] <file name> [<password>]

Description

ctclntrn “cleans” the high-water transactions marks within a FairCom DB index.

Suggested Steps for Successful Clean and Reset

In the event of an impending transaction number overflow, the server administrator should follow these steps to restart transaction numbering:

  1. Perform a clean FairCom DB shutdown.
  2. Delete the transaction logs and housekeeping files: files S0000000.FCS, S0000001.FCS, D*.FCS, I*.FCS, and L*.FCS.
  3. Use the ctclntrn utility to clean all indices (which resets the transaction numbers in the leaf nodes and index header) used by your application, including your application index files, superfiles, variable-length data, and c-tree Server files including the following if present:
    • FAIRCOM.FCS -- If you are not using any User IDs or passwords other than ADMIN and GUEST, you can simply delete this file. (If you do delete this file, tFairCom DB will re-create it with the single user ADMIN and password ADMIN.)
    • CTSYSCAT.FCS -- This is only present if you are using c-tree ODBC Drivers.
    • SEQUENCEIX.FCS
    • SYSLOGIX.FCS
    • SYSLOG*.FCS
    • ALL FairCom DB SQL Database Dictionaries
      • <databasename>.dbs/SQL_SYS/<databasename>.fdd
      • ctdbdict.fsd (session dictionary)
  4. Restart the c-tree Server.

The server will create new transaction logs and start transaction numbering from 1 again.

It is important to run ctclntrn on all files. If you miss any files and later open that file with a large transaction number in its header, the server will again increase its transaction number to that large value. You will need to repeat this procedure should that occur.

FYI: The ctclntrn utility uses the CleanIndexXtd() FairCom DB function. This function cleans any leaf nodes of exceptional transaction marks and resets the transaction high-water mark in the header to zero. This avoids rebuilding the entire index file.

You can use the c-tree High-water Mark Utility, cthghtrn, to verify that the transaction high-water marks in the files are back to zero, or other reasonably low number.

Tip: The AUTO_CLNIXX YES configuration option can help automate and detect files which have been missed.

See also

TOCIndex