IBM Support

How to manually reformat a VOB database using db_dumper and db_loader

Question & Answer


Question

How do you manually dump and load an IBM Rational ClearCase VOB database on Microsoft Windows, UNIX and Linux in the event that, cleartool reformatvob, does not work?

Answer

Reformatting a VOB should be performed using the cleartool reformatvob command.

If instructed to do so by a member of IBM Rational Client Support, you may run the dump and load commands manually as follows:



PREREQUISITES:
  • Before you begin, backup the VOB. Under no circumstances should these commands be run on a production or live VOB.
  • The same identities and restrictions that apply to reformatvob also apply to running the db_dumper and db_loader commands. For more information, refer to the IBM Rational ClearCase Information Center under the topic of reformatvob (cleartool man reformatvob).
  • Be sure to know which schema version (53 or 54) you are working with at the following levels:
    • VOB level: You can determine which schema a VOB is using by reading the vob_db_schema_version file in the db directory of the VOB.
    • Server level: You can determine which schema a Server was installed with by reading the vob_db_schema_version file in the install directory as follows:

      UNIX/Linux: /opt/rational/clearcase/etc
      Windows:  C:\Program Files\Rational\ClearCase\bin
    Note: VOB schema 53 is no longer supported as of ClearCase 7.0. Refer to technote 1201579 Support Policy for VOB schema 53 and ClearCase 7.0 for further information. However, it is still possible to run db_dumper.53 on a ClearCase 7.0.x server to bring a VOB up to schema 54. So db_dumper.53 should still be in the "dumpers" directory as noted below.

    Refer to APAR PK48298 for information about specific platforms that do not support schema 53, thus, they do not have a copy of db_dumper.53 installed.



INSTRUCTIONS:



db_dumper
  1. Log in as root (UNIX and Linux) or Administrator (Windows)

  2. Open a command prompt and Lock the VOB (cleartool lock vob:<vob-tag>)

  3. Copy the VOB storage directory to a temporary location.

    Note: If the VOB is large, or space is a concern, you can work with a copy of the db directory, and the identity information (UNIX/Linux: .identity directory and Windows: identity.sd file) while maintaining the existing directory structure.

    Windows Note: Use a copy utility that will preserve the permissions on the files like ccopy found in the C:\Program Files\Rational\ClearCase\etc\utils directory.

  4. Change into the db directory of the VOB storage in the copy made in step #3.

  5. Run the db_dumper utility that matches the VOB schema level.

    For example. If the server was installed as schema 54 and you need to dump a VOB that is at schema 53, you need to use the db_dumper.53 (UNIX and Linux) or db_dumper.53.exe (Windows) utility.

    There are separate dumpers for schema 53 and 54, each of which are installed in the following locations:

    UNIX/Linux: /opt/rational/clearcase/etc/dumpers

    Windows:  C:\Program Files\Rational\ClearCase\bin\dumpers

    Notes: There is also a version of the db_dumper (without a 53 or 54 in the name) on the host as well. This version matches the schema level of the server. Use only the version in the directory specified above when manually dumping the database of the VOB.

    Example:
    • UNIX/Linux:
      opt/rational/clearcase/etc/dumpers/db_dumper.#
      <path to db directory>

      Example:

      %>pwd
      /export/vobs/test.vbs/db

      %>/opt/rational/clearcase/etc/dumpers/db_dumper.54 /export/vobs/test.vbs/db

      0 hyperlinks dumped.
      44 events dumped.
      1 locks dumped.
      Dumper done.


    • Windows:
      C:\Program Files\Rational\ClearCase\bin\dumpers\db_dumper.#.exe <path to db directory>

      Example:

      C:\ClearCase_Storage\VOBs\test.vbs\db>"C:\Program Files\Rational\ClearCase\bin\dumpers\db_dumper.54.exe" C:\ClearCase_Storage\VOBs\test.vbs\db

      0 hyperlinks dumped.
      44 events dumped.
      1 locks dumped.
      Dumper done.


      The last line of the output on the command line will read Dumper done if it was successful.

      Note: Attempts to use a relative path from the db directory will result in the following error:

      C:\ClearCase_Storage\VOBs\test.vbs\db>db_dumper .
      db_dumper: Error: Unable to open file "\replica_uuid": No such file or directory.
      db_dumper: Error: Cannot open database in '.': db_dumper: Error: Error from libdb (1)

      This command will generate 3 files from the existing database files and store them in the db directory:

      pass1_dump_file
      pass2_dump_file
      string_dump_file
      .




db_loader

Note:
These instructions assume the directory structure remains from running the above db_dumper, and that you are in the db directory.

IMPORTANT:
  • If the VOB is being moved between systems of different architectures, the three vista files (vista.taf, vista.tcf and vista.tjf) need to be removed before the db_loader is used. If this is not done, the load will fail with error db_VISTA error -907 when ClearCase tries to access these files. Review technote 1236027 for more details.
  • NEVER run db_loader and point to the same directory of the db that was just dumped (as was done in the previous section). This will cause db_loader to overwrite the old db when creating the new one. This may lead to problems if the db_loader fails for some reason, now the db is left in an inconsistent state and will require a restore from backup.

    A new directory should be created for loading into.
    1. Rename the old db directory to "db.old"
    2. Create a new directory called "db"
    3. Load into the new "db" directory.

The "db.old" directory can be removed once the VOB is back online and has been tested.
  1. The db_loader requires the three files from a dump phase (pass1_dump_file, pass2_dump_file, string_dump_file) to be in the db directory.

  2. Run the db_loader. This will re-generate the files for the db directory that will be logically identical to these files when the dumper was run. If successful, the last line of the db_loader output will be Loader done.
    • UNIX/Linux:
      opt/rational/clearcase/etc/db_loader
      <path to db directory>

      Example:

      %>pwd
      /export/vobs/test.vbs/db

      %>/opt/rational/clearcase/etc/db_loader /export/vobs/test.vbs/db
      Dumped schema version is 54
      44 events loaded.
      68 pass 2 actions performed.
      Loader done.

    • Windows:
      C:\Program Files\Rational\ClearCase\bin\db_loader
      <path to db directory>

      Example:

      C:\ClearCase_Storage\VOBs\test.vbs\db>db_loader "C:\ClearCase_Storage\VOBs\test.vbs\db"
      Dumped schema version is 54
      44 events loaded.
      68 pass 2 actions performed.
      Loader done.

      The last line of the output on the command line will read Loader done if it was successful.

      Note: Attempts to use a relative path from the db directory will result in the following error:

      C:\ClearCase_Storage\VOBs\test.vbs\db>db_loader .
      db_loader: Error: Unable to open file "\replica_uuid": No such file or directory.
      db_loader: Error: Cannot open database in '.': db_loader: Error: Error from libdb (1)

  3. Remove the three files used as input for the db_loader (pass1_dump_file, pass2_dump_file, string_dump_file).

    Note: Make sure you have a good backup of your production VOB before continuing.

  4. Lock the production VOB.

  5. Stop ClearCase services on the production host.

  6. Copy the db directory and it's contents back into the production VOB

  7. Restart ClearCase services.

  8. Unlock the VOB.

  9. If any changes have been made to the VOB, since the db_dumper was run, you must run cleartool checkvob -fix -pool <vob_tag> against this VOB at this time.

    Note: These changes will be lost.

[{"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;7.0.1;7.1;8.0;8.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSSH27","label":"Rational ClearCase"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Database","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
16 June 2018

UID

swg21172574