|
This document provides a list of enhancements and user visible changes
in Eloquence patch bundle PE71-B100209, relative to the original B.07.10 release.
Contents:
dbbexp
-
The dbbexp utility was modified to use a default cache size
of 5 MB. Previously, the cache size configured in the database
configuration file was used.
-
Added a new command line option -b <size> to specify the
buffer cache size (in MB).
dbcfix
-
The displayed number of processed records was changed to cover up to 9
digits.
-
The dbcfix utility was modified to use a default cache size
of 64 MB. Previously, the cache size configured in the database
configuration file was used.
-
Added a new command line option -b <size> to specify the
buffer cache size (in MB).
-
A problem comparing P and Z item types was fixed.
This fixes a problem where dbcfix might dignose a non-matching search
item in some cases and would trigger repair of this chain unnecessarily.
The P and Z item types may use a different binary representation for
the same numeric value. Eloquence compares P and Z items based on their
numeric value, even if different binary encoding is used (eg. unsigned
and positive values are considered the same).
However, dbcfix used a binary comparison on P and Z item values in some
consistency check and considered positive and unsigned values different,
even though they represented the same value.
-
The dbcfix utility was changed to retain additional
status information in the volume files that is used by
replication.
Older dbcfix versions did reset this information and
therefore could cause a problem when used with replication.
dbfsck
-
The dbfsck utility was enhanced to detect uninitialized BTREE pages.
In rare cases, uninitialized BTREE pages may exist due to a previous
database server crash. These pages do not harm database operation if
the BTREE is otherwise consistent.
The dbfsck utility now detects an uninitialized BTREE page as a
nonfatal condition and outputs an informational message like below:
Info: page ... has never been initialized.
In addition, dbfsck enforces a full tree check on the affected BTREE
to ensure that the index is structurally consistent.
-
The dbfsck utility now outputs the number of free records in a data
set where the corresponding record numbers are not located in the
free-list. This should help to estimate whether or not it is worth
the effort to run dbfsck in write-mode and fix the free-list for
this specific data set.
-
The dbfsck utility was changed to relax the FixRec consistency
check on the first/last record meta information.
Starting with eloqdb6 database server patch PE71-0802120, the
first/last record meta data are no longer maintained to specify
an exact record number but to provide a hint on lower/upper
record number boundaries.
Due to this change previous dbfsck version might in some cases
incorrectly report inconsistencies on the FixRec first/last
record meta data.
dbfsck was relaxed to match the validation of this information
with the server.
-
The dbfsck utility was changed to retain additional
status information in the volume files that is used by
replication.
Older dbfsck versions did reset this information and
therefore could cause a problem when used with replication.
-
The dbfsck memory consumption has been significantly reduced.
This causes a noticable improvement of the pass 1 runtime and
allows to use dbfsck on large database environments.
-
Progress information has been added which is output when the
-v command line option is specified. If enabled, progress info
is output every minute to stdout.
The command line example below redirects dbfsck messages
to a log file while progress info is output to the terminal:
$ dbfsck -v 2>dbfsck.log
Example progress message output:
Processed 222437 of 556094 pages (40%)
Progress information output is suppressed if pass 1 is skipped.
dblogreset
-
The dblogreset utility was modified to use a default cache size
of 5 MB. Previously, the cache size configured in the database
configuration file was used.
-
Added a new command line option -b <size> to specify the
buffer cache size (in MB).
-
The dblogreset utility was changed to create a recovery forward-log
"bridge segment", if necessary.
If the server process terminates abnormally, a subsequent server start
or use of the dblogreset utility performs a startup recovery that
re-applies any recently committed transactions.
The database server startup recovery and the dblogreset utility have
been enhanced to continue the forward-log after a server crash.
Any changes applied during startup recovery may now be captured in
a special recovery forward-log segment.
Previously, an existing forward-log was disabled in this case
so a new backup was required to regain the ability of using dbrecover.
Please note that audit information are not retained for any
recovered transactions. The fwaudit utility outputs a warning
note when it discovers this situation.
-
The dblogreset utility was enhanced to support a new configuration
option to enable read access on forward-log files for the group
(GID) specified in the database server configuration file.
By default the dblogreset utility creates any forward-log files
with restrictive permissions that only allow the configured user
(and the superuser) to access the forward-log files.
The [forwardlog] GroupReadAccess configuration option may be used
to specify read access for the configured group to the forward-log files.
[forwardlog]
GroupReadAccess = 0|1
If set to a nonzero value, forward-log files are created with a
permission that allows group read access (configured with the
[Server] GID option). If set to zero, forward log files are created
with a permission to restrict access to the owner (configured
with the [Server] UID option).
The default value is 0 to permit owner access only.
dbrecover
-
The dbrecover utility was modified to use a default cache size
of 5 MB. Previously, the cache size configured in the database
configuration file was used.
-
Added a new command line option -b <size> to specify the
buffer cache size (in MB).
-
The dbrecover utility was enhanced to support incremental recovery.
If aborted prematurely, the dbrecover utility may be restarted and
should be able to continue from the previous point.
The original dbrecover utility required starting from the previous
backup.
Please note: When using incremental recovery the server process
MUST NOT not be started between dbrecover runs when the server is
configured in a MASTER or STANDALONE (default) role. The server
may be started when configured to function in a SLAVE role as
this will not change the data volumes.
-
The dbrecover utility was enhanced to support recovery up to a specified
point in time.
The new -T option may be used to specify a point-in-time up to which
dbrecover applies changes. Once this point is passed, dbrecover will exit.
Incomplete transactions are not applied.
The following syntax is supported to specify a timestamp:
YYYY-MM-DD [HH:MM[:SS]]
MM/DD/YYYY [HH:MM[:SS]]
DD.MM.YYYY [HH:MM[:SS]]
Any character may be used to separate date and time. Specifying
the time is optional, it defaults to 00:00:00 if not present.
For example:
dbrecover -T "2007-02-22 16:53" ...
This specifies to apply transactions committed up to Feb 22, 2007, 16:53:00.
dbrepl
-
The new dbrepl utility is used to replicate database transactions to other
database environments.
For more information, please refer to the
Eloquence Database replication documentation.
-
The dbrepl utility now issues an additional exit code 3 in case
a connection problem is detected, for example if the replication
slave server is temporarily unavailable.
The exit codes issued by dbrepl are:
0 - successful execution, graceful exit
(will only be issued if the -S or -G command line option is
used and dbrepl executed normally until the existing log or
the current generation has been processed)
1 - failure, typically requires manual intervention
(for example, a configuration problem on the replication
master or slave servers)
2 - invalid or -help command line option
(the command line usage was output)
3 - connection problem
(could not connect or lost the connection to the replication
slave server)
Exit code 3 may be used in a script to retry the dbrepl invocation.
Preferably, repeated invocations should be appropriately delayed,
for example by sleeping 60 seconds between two invocations.
-
The dbrepl utility could not easily be used through a SSH tunnel
because the underlying Eloquence database client library would
always establish an IPC connection to the database server whenever
the localhost address is used.
However, since an IPC connection uses shared memory to communicate
with the database server, it would not work through a SSH tunnel.
To solve this, the EQ_DBENABLEIPC environment variable may be set
to zero (EQ_DBENABLEIPC=0), which will enforce a TCP network
connection even if the localhost address is used.
-
If the -v command line option is specified, this now implies the
log flag R1. Therefore it is no longer necessary to use the -d
command line option in addition to -v to set the R1 log flag.
dbstore
-
The dbstore utility was modified to use a default cache size
of 5 MB. Previously, the cache size configured in the database
configuration file was used.
-
Added a new command line option -b <size> to specify the
buffer cache size (in MB).
dbutil
-
Added support for case insensitive index option.
-
On recent Windows versions the dbutil utility could fail to start.
During dbutil startup, a temporary file was created in the current
root directory, typically C:\.
However, on Windows Vista, C:\ is write-protected by default, causing
dbutil to fail.
The dbutil utility was changed to use the system-defined temporary directory.
-
The DELETE PATH syntax was simplified and no longer requires
specification of a master set. The new syntax is as below:
DELETE PATH item-name;
The previous syntax is still accepted but the specified set name
is not verified.
DELETE PATH item-name(set-name);
Deleting a path from a set does not require specifying a master
set as this information is available from the database schema.
-
The dbutil utility enforced a minimum record size (media size) of 4 bytes.
This limitation could affect compatibility of stand-alone manual master and detail sets.
An error message like below was output by dbutil:
SET-NAME: Data set below min. entry length (4)
The minimum record size limitation was removed from Eloquence B.07.10 (and recent B.07.00
patch levels) but was still enforced by dbutil.
dbvolchange
dbvolcreate
-
The dbvolcreate utility now uses the system-defined temporary
directory instead of C:\ on Windows.
dbvolextend
fwaudit
-
The internal "expression stack" limit was increased.
An overflow of the internal expression stack causes the fwaudit
utility to abort with a message like below:
Error in filter expression: expression too complex
Originally, the capacity of the message stack was 100 elements.
This has been increased to 1000 elements to allow more complex
filter expressions.
-
The fwaudit utility was enhanced to support information passed by the
TurboIMAGE DBMEMO, DBBEGIN and DBEND calls.
Please note that the HP3K_API_COMPAT database property must be set
appropriately for the TurboIMAGE DBMEMO, DBBEGIN and DBEND
calls to have any effect.
-
The fwaudit utility was enhanced to support filtering by TurboIMAGE DBMEMO,
DBBEGIN and DBEND information. This includes using session and timestamp filters.
-
The new -m command line option was added to output TurboIMAGE DBMEMO
and DBBEGIN/DBEND records. The -m option may be combined with the
-r option (print clear text report).
Information passed by the TurboIMAGE DBMEMO, DBBEGIN and DBEND calls
is output as text. Any non-printable characters are printed as octal
escape sequences (the same way item values are output).
The -x command line option may be used to select output in hex dump format.
-
The "conntime" session item was added to allow filtering by the
session connection timestamp.
-
The "id" session item was added to allow filtering by a specific
session identifier.
-
fwaudit could fail with an error message like below, if the same item
name was present in different databases, using different item types.
item requires a string filter argument
item requires a numeric filter argument
As a solution, fwaudit now accepts both string and numeric values
on all item types. For numeric item types, if a string can be
converted to a numeric value, it will be used, otherwise the value
does not match and fwaudit continues. For string item types, a
numeric value will be used literally for an alphanumeric comparison.
-
When processing an audit file, any comment records are now output to
stderr.
Audit comment records are used to record any problems that may have
occurred while the original forward-log was processed. When an archived
audit file is later used with fwaudit, these comment record messages
are now output to stderr. Previously they were output to stdout along
with the clear-text report.
In addition, the warning messages written to comment records have been
revised so that they now clearly indicate that they were created while
the original forward-log was processed.
For more information, please refer to the
Eloquence Database auditing documentation.
fwutil
-
The new fwutil library enables access to the Eloquence database forward-log
files that holds the archived committed transactions.
For more information, please refer to the
Eloquence fwutil documentation.
prschema
query3k
-
QUERY3K was changed to use the /var/tmp directory as a default
location to create temporary files. Previous QUERY3K versions used the
/tmp directory by default.
-
The FORM SETS command was changed to suppress outputting the
MAXIMUM CAPACITY if the output would be the Eloquence default.
As all Eloquence data sets are considered to have a dynamic
"capacity" this would otherwise clutter the output without
providing any additional information.
-
QUERY3K was enhanced to improve support of the Eloquence
database limits that exceed the previous TurboIMAGE limits.
QUERY3K should now support the following limits
- a record size of up to 5120 bytes
- 2048 items per database
- 500 data sets
- 1024 items per set.
- The item type 'B' (binary) is now mapped to 'X'.
String items with more than 255 bytes per subitem are not yet
fully supported and may result in undefined behavior.
-
A REDO command could result in a stack corruption and/or QUERY3K crash
if the command line exceeded 255 characters and the command was edited.
-
A problem with the MATCHING clause ("Generic Search") was fixed.
A dot (".") in a search condition using the MATCHING clause was not
considered literally but instead matched arbitrary characters.
For example:
MATCHING "d.dd" should match the value "2.50" but not "4444".
schema
|
|