The dbcfix utility may be used to verify and optionally fix the chain consistency in an Eloquence database.
A chain could be damaged in the Eloquence database if the transaction integrity
was violated. For example due to a system crash (while running in async mode) or
fixing an inconsistent database volume with dbfsck.
The dbcfix utility is an off-line tool and requires exclusive access to the
volume files. Before running the dbcfix utility the eloqdb server must be shut
down (unless running in read-only mode, which may also be done while the database
server is in online backup mode). The dbcfix must either be executed by root or
the user specified in the eloqdb.cfg configuration file.
usage: dbcfix [options] database [set[.detail_item] ...]
dbcfix [-c cfg] -P database set chain_idx recno {new_chain_values}
options:
-help - show usage (this list)
-u user - set user name
-p pswd - set password
-c cfg - server configuration file
-b size - Buffer cache size (MB)
-v - verbose output
-l file - specify log file (stdout is default)
-w - enable write mode
-R - force chain rebuild (in physical order)
-M - use master key
A list of data sets (and paths) may be specified. If no data set is
given, all paths in the database are verified. If a master set is specified,
all paths to related detail sets are verified. If a detail set is given,
all paths of the detail set are verified. The detail_item option may
be used to specify a single path in the detail set.
The -P and -R options should only be used when instructed by the
product support. Wrong usage may damage the database.
The -c option may be used to specify a database configuration file
other than the default eloqdb.cfg.
The -b option may be used to specify the buffer cache size (in MB).
If not set, it defaults to 64 MB. Older Eloquence versions used the BufferCache setting
from the database server configuration file.
The -l option may be used to specify the name of an output file that
provides a report of the processed chains and any problems found.
If the -v option is specified in conjunction with -l, progress messages are displayed.
In case the database requires specific access privileges,
the -u and -p options may be used to specify user and password.
By default the dbcfix utility uses the "public" user.
The -M option is used with encrypted databases. When specified,
the EQ_MKEYID and EQ_MKEYFILE environment variables are used to provide master key(s)
to access encrypted data. The user is prompted to enter the pass-phrase(s).
The dbcfix utility by default runs in READONLY mode. In read-only
mode, any problems found are reported to the log file but the volume
files are not changed.
If the -w option is specified, chain inconsistencies are corrected.
For more information on dbcfix usage and limitations see the
dbcfix document
in the Eloquence documentation. This document includes
background info how dbcfix works, shows example output and discusses
messages with their cause and fix.
Running dbcfix in write mode will break transactional
consistency and as a consequence, any replicated servers need to be
re-synchronized. Also, forward recovery cannot be used to recover
the database unless a new backup is made.
The example below checks the sample database, showing progress messages on
the screen and writing a report of the check results to the file dbcfix.out:
dbcfix -l dbcfix.out -v sample
The example below processes the database sample in WRITE mode, i.e. performs
checks and repairs. A report is written to the file dbcfix.log. Only the chain
related to the data set ORDERS and qualified by the search item ORDERID is
processed.
dbcfix -l dbcfix.log -w sample orders.orderid
dbfsck utility
Article on dbcfix utility
in the Eloquence documentation.
|