IBM Support

About ClearCase database vista.* files

Question & Answer


Question

What are the vista.* files that reside in the db directory under each IBM Rational ClearCase VOB storage directory on Microsoft Windows, UNIX and Linux used for?

Answer



Here is an overview detailing what the vista.* files in the VOB storage db directory are used for:

vista.taf: This file is a short-term cache that contains the names of database files which relate to in-progress transactions. The file is empty when the transaction completes.

logs/*: This directory contains database transactions which are currently in progress. The files in this directory contain pointers to the vista.taf file for information regarding what db file should be updated.

vista.tcf: This file contains the names of database files which need to be updated with transactions which have completed, but are currently waiting to be replayed from vista.tjf. The changes associated with the transaction have been synched to disk, but the database events have not been updated yet.

vista.tjf: This file contains a list of transactions which have been completed, but have not yet been replayed into the database. Database files are periodically updated with these transactions. Some operations (like locking the VOB) will force transactions to be replayed and will empty out the tjf and tcf files.



Conditions for removing and replacing the vista files:


For any VOBs in which the vista.tjf, vista.tcf, and vista.taf files contain no transactions, the tjf, tcf and taf files can be moved aside and recreated. If this is the required approach, the VOB needs to be locked first (so no transactions will take place while moving the files aside) or if the VOB is inaccessible due to database corruption (hence, no one can work anyway, so the files will not get updated). Then stop ClearCase and move the files from the db directory. Restart ClearCase and mount the VOB, which will recreate the vista files automatically.

Note: If multiple vista.tjf files (in the form of vista.tjf.xxxx) or vista.tcf files (in the form of vista.tcf.xxxxx) are located under <storage>\myvob.vbs\db, then these files can be removed, but do not remove vista.tjf.

Lock the VOB, stop ClearCase, Backup the VOB, remove all vista.tjf.* and vista.tcf* files (not vista.tjf), restart ClearCase, and unlock the VOB.



Conditions to NOT remove any of the vista files:


Do not remove any of the vista files if they contain transaction information. Removing files that have transactions will cause the transactions to be lost. This may be unavoidable in the case of trying to recover from corruption to the transaction file, vista.tjf, or the VOB itself; see technote 1124619 for more details.

Removing the vista files is particularly dangerous when using ClearCase MultiSite because the unplayed transactions might be related to a syncreplica. Removing the journal file could result in replicaA thinking replicaB was updated, but replicaB actually did not get any of the updates. This would break replication. You should refer to the IBM Rational ClearCase MultiSite Administrator's Guide for more details on this topic.



To confirm if there are any transactions in the vista files run the following commands:


    % od -bc vista.tcf
    0000000 300 300 036 254  \0  \0  \0 002  \0  \0  \0  \f  \0  \0  \0  \0
    300 300 036 254 000 000 000 002 000 000 000
    014 000 000 000 000
    0000016  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
    000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
    *
    0008192 <---------- file size

The '014' bit in the second line of the output is the identifier you should look for. If this is 014, then there are no transactions in the vista.tjf or vista.tcf, and they can be moved aside as detailed above under conditions for removing and replacing the vista files.

Here is a dump of an empty vista.tjf file:


    [57] od -bc vista.tjf
    0000000 300 300 036 257  \0  \0  \0 002  \0  \0  \0 034  \0  \0  \0  \0
    300 300 036 257 000 000 000 002 000 000 000 034 000 000 000 000
    0000016  \0  \0  \0 256  \0  \0  \0 256  \0  \0  \0  \0  \0  \0  \0  \0
    000 000 000 256 000 000 000 256 000 000 000 000 000 000 000 000
    0000032  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
    000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
    *

    0008192 <---------- file size

Here is a dump of an empty vista.taf file (logs directory should also be empty):


    [56] od -x vista.taf
    0000000 2eaf 31ee 58d3 beef 0000 0000 0000 0000
    0000016 0000 0000 0000 0000 0000 0000 0000 0000
    *
    0001024 0000 0000 0000 0000 0000 beef 0000 0000
    0001040 0000 0000 0000 0000 0000 0000 0000 0000
    *
    0002048 0000 0000 0000 0000 0000 0000 0000 beef
    0002064 0000 0000 0000 0000 0000 0000 0000 0000
    *
    0003088 0000 beef 0000 0000 0000 0000 0000 0000
    0003104 0000 0000 0000 0000 0000 0000 0000 0000
    *
    0004112 0000 0000 0000 beef 0000 0000 0000 0000
    0004128 0000 0000 0000 0000 0000 0000 0000 0000
    *

    0005146
    <---------- file size

When there are transactions in progress, then there will be file names in the output where the 'beef' string is.

[{"Product":{"code":"SSSH27","label":"Rational ClearCase"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Database","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF015","label":"IRIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"7.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
16 June 2018

UID

swg21149322