FIXTOOL
Universe / U2 / Pick
Release 11.1.9 on Windows
This command replaces the older now discontinued and non-functional command uvfixfile
So if you are running Release 10 or earlier, you may still be able to use the older command.
If you are on Release 11 or later you must instead use this command instead
Use FIXTOOL to both verify and repair UniVerse files. Exclusive access to the file is required when using the `-fix’ option to repair the file.
SYNTAX
FIXTOOL – file [filename] [-level #] [-dumppath dir] [-nodump] [-filepath path] [-help] [-logging] [-logpath] [-start #] [-stop #] [-zero]
QUALIFIERS
-file filename specifies the name of the file to process. If the file is not local to the current account, this switch must be used in conjunction with the –filepath switch.
-filepath path specifies the directory where the file is located. Necessary when executing the command from a different directory.
-level # Specifies the verbosity level of the information that will be output from fixtool. Level specified with value of 1-10. NOTE: You must use the switch(es) –start and/or –stop otherwise the -level switch will be ignored. As examples, `-level 4’ will display the address of each record block in the file, while `-level 5’ will display the record keys and data.
- fix This switch is used to indicate that fixtool should attempt to repair any corruption detected.
-dumppath path Indicates the location where the temporary directory used by the fixtool should be located. A sub-directory in the form `dump.’filename will be created at this location. Without this switch, the default is to create the directory in the current directory.
-nodump This switch indicates that fixtool should bypass creating the temporary dump directory.
-help This switch displays a brief screen containing the command line switches available for use with fixtool.
-logging Indicates that fixtool should create a sub-directory to log the errors encountered during processing. The sub-directory is created as `log.’ followed by the filename. Within this directory is a text file `LOGFILE’ that contains information regarding the problems detected with the file.
-logpath May be used in conjunction with the –logging switch to specify a different location to use when creating the `log.’ sub-directory that will contain the LOGFILE. See –logging switch.
-start # May be used to limit the scan and repair to a range of groups, where '#' is the group at which to start. Otherwise, by default, fixtool will process all groups in the file.
-stop # May be used to limit the scan and repair to a range of groups, where '#' is the group at which to end. Otherwise, by default, fixtool will process all groups in the file.
-zero This switch is used to clear a range of groups. All data within the targeted groups will be removed from the file. This option requires both the –start and –stop arguments be used to limit the function to a range of groups.
DESCRIPTION
The command fixtool was developed as part of the project to support 64BIT files in UniVerse. It replaces uvfixfile which could only be used with older style 32BIT files, and is now obsolete. The command fixtool can be used to verify the integrity of UniVerse files without having to take the file off-line. If you do not use the -fix switch, the process will merely trace the file. When tracing a file it is possible to receive `bogus’ errors when a group is being updated at the same time it is being reviewed by fixtool. Therefore, when tracing a file that is in use, it is recommended that any problem groups be reviewed a second time using the – start and –stop options to verify that the group in question is indeed corrupt.
It is recommended that the `logging’ switch be used when tracing a file. This switch will create a sub-directory that contains a `LOGFILE’ with information specific to the location and type of errors detected. This file can later be used to review only those groups that contain errors. This approach will limit the time the file must be off-line. The `-fix’ option should never be executed against the only copy of the file. It is recommended that a backup copy of the file be made prior to attempting to fix the file. The fixtool utility may create sub-directories. By default the fixtool utility will create a `dump’ directory for the file in the event it is needed. This directory will be named `dump.’ followed by the file name. The creation of this directory may be suppressed by using the `-nodump’ command argument. If the `logging’ switch is used fixtool will create a subdirectory to store the log created during processing. This directory will be created as `log.’ followed by the file name. Once the process of a given file has been completed the `log.’ and `dump.’ subdirectories may be removed from the system.
NOTE
NOTE: Using the –start and/or –stop switches will eliminate certain types of error checking. For example when –start and/or –stop is used the free-chain pointer of a file is not validated. Data bytes used in dynamic files to determine when a split or merge operation should occur will not be validated when –start and/or –stop is used.
EXAMPLES
This example traces the first 1000 groups of the `XYZ’ file logging any errors to `log.XYZ/LOGFILE’:
fixtool –file XYZ –logging –start 1 –stop 999
This example will display the record keys and data for group 101 in file XYZ:
fixtool –file XYZ –level 5 –start 101 –stop 101
This example will clear group 101, any data present will be lost:
fixtool –file XYZ –start 101 –stop 101 –zero
This option will put the temporary subdirectories into the /tmp directory rather than the directory where the command is executed:
fixtool –file XYZ –dumppath /tmp –logpath /tmp -logging