.
contact contact

B.08.20 / Release Notes / Database enhancements

Database enhancements

 
.
  This document provides a detailed list of the database changes included in the B.08.20 release. Most prominent is the support of FTS indexes (and some related utilities). In addition, a variety of database functions and utilities were added or enhanced:

FTS index support

Support for FTS indexes was added to the database server, the client database and image3k libraries and the language runtime. In addition, the libftc library implements backwards compatibility with ODX and DBI calls.

Please refer to the FTS documentation for more information.


dbftswords utility

The dbftswords utility was introduced with B.08.20 and may be used to list FTS keywords for a specific FTS field. Typical use includes verifying the FTS keywords match expectations or to create a keyword exclusion list.

For more information please refer to the dbftswords documentation.


ftsdump utility

The ftsdump utility was introduced with B.08.20 and may be used to obtain FTS details. It is mostly intended for diagnostic use.

For more information please refer to the ftsdump documentation.


dbrepack utility

The dbrepack utility was introduced with B.08.20 and allows to reclaim disk space occupied by deleted records.

For more information please refer to the dbrepack documentation.


dbpasswd utility

The dbpasswd utility was introduced with B.08.20 and supports creating protected database password files and/or changing database passwords.

Database password files may be used to authenticate with the database server (eg. by using the EQ_DBUSER environment variable). The dbpasswd utility adds the option to use protected password files and to impose additional restrictions on their use, such as expiration period, operating system user or host system. It provides a convenient and secure option to avoid using clear text passwords and to manage database passwords.

For more information please refer to the dbpasswd documentation.


dbrepl utility

The dbrepl utility was enhanced to support configuring a replication instance with a config file and to support running in background. Also, dbrepl was enhanced to allow retrying replication after a slave server connection failure.

For more information please refer to the dbrepl documentation.


Running replication as background service

On HP-UX and Linux, the start/stop script was enhanced to allow managing dbrepl instances. On Windows, dbrepl may be used as a service.

For more information please refer to the dbrepl documentation.


prdbutil utility

The prdbutil utility was introduced with B.08.20 and allows to obtain the database configuration. prdbutil outputs dbutil syntax and the output may subsequently be applied with dbutil to restore a database configuration.

For more information please refer to the prdbutil documentation.


dbctl input mode

The dbctl utility was enhanced to allow reading commands from stdin rather than the command line. This allows using dbctl interactively and simplifies submitting multiple dbctl commands with a single dbctl invocation.

If the -i option is present, any dbctl commands are read from stdin. The exit command (or an EOF condition) may be used to exit from dbctl. A leading "#" or "!" indicates a comment and is ignored.
Any commands read from stdin are echoed if stdin is not connected to a tty device (script use). The option -e may be used to disable the command echo.
In input mode, dbctl will exit if a command failure is encountered if stdin is not connected to a tty device (batch use).

The example below demonstrates the dbctl -i option in a script to obtain slave server replication status repeatedly every 10 seconds:

while :; do echo replication monitor; sleep 10; done | ./dbctl -ie 

For more information please refer to the dbctl documentation.


dbctl replication status (slave server)

The dbctl replication status output (and the HTTP config status page) on a slave server has additional information on the last replication activity and the estimated replication lag. This is intended to simplify monitoring the replication status.

For example:

$ dbctl replication status slave
Server is configured as SLAVE
Replication is active (activity 158 sec ago, lag 0 sec)
Last checkpoint is 45-1.1 (2012-09-05 16:57:32)
Forward-logging is enabled
Forward-log is '/data/test/S/fw/fw-44-1.log'
  • The activity field ("last activity") indicates the last time when replication data was received by the slave server (difference in seconds from the current time).

  • The lag field ("estimated replication delay") indicates the time difference between the master timestamp in the replication data and the time the data was received on the slave server (difference in seconds).

  • The lag field is only present when replication is active (dbrepl connected to the slave server). The activity field is present when dbrepl was previously connected to the slave server.

dbctl replication monitor (slave server)

The "dbctl replication monitor" returns the slave server replication status in a form that is easier to parse in scripting. The following fields are returned, separated by spaces.

  • replication active - 0=dbrepl not connected, 1=dbrepl connected

  • last activity (seconds) - numeric, number of seconds since last time when replication data was received by the slave server

  • replication lag (seconds) - numeric, time difference (in seconds) between the master timestamp in the replication data and the time the data was received on the slave server. Zero if replication is not active.

  • last master checkpoint (gen-seq.tag)

  • last master checkpoint (timestamp) - numeric, timestamp in seconds since the epoch

This information returned is substantially identical to "dbctl replication status" and is intended to simplify replication status monitoring.


dbctl volume

The "dbctl volume" command is an experimental user interface and allows to change database volume file properties without a server restart. The following syntax is supported:
dbctl volume limit
Returns the current volume size limit

dbctl volume limit MB
Allows specifying a new volume size limit (in MB)

dbctl volume list
List database volumes and properties

dbctl volume id
List the database volume properties for volume id

dbctl volume id max MB
Allows to change the size limit of the volume (in MB). This has the same effect as dbvolchange.

dbctl volume id ext MB
Allows to change the extension size of the volume (in MB). This has the same effect as dbvolchange.
Please note that the dbctl volume commands are not replicated to a slave server. During replication this has no effect as the slave server will ignore these limits. However, on a role change (master/slave) these limits will be enforced. Consequently, it is recommended to perform the same change on any slave servers.

Also note that any change to the global volume size limit does not persist a database server restart. It only applies to the running server process and does not automatically update the VolumeFileSizeLimit in the eloqdb server config file.


Database server changes

In addition to new functionality to support FTS indexes, several enhancements were incorporated in the database server.

  • Changed timestamp format in log files to YYYY-MM-DD HH:MM:SS

  • The [server] LogTimeFmt config item may be used to specify the logfile timestamp format for the database server.

  • The database server restructuring procedure was enhanced to use a more efficient bulk rebuild procedure when rebuilding indexes (FTS and btree). This makes temporary use of memory to accelerate btree indexing performance noticeably. The max. amount of temporary memory used for index rebuild may be configured with the [config] RestructMemLimit config item. The default memory limit is currently 100 MB. Larger values (such as 300 MB) may noticeably improve rebuild performance for large databases. Memory consumption during index rebuild may be reduced when using the 32-bit eloqdb32 and address space is tight (at the cost of rebuild performance).

  • FTS indexes are rebuilt selectively. Only FTS data that is affected by a database structural change is rebuilt.

  • Rebuilding a btree index should use less disk space in the forward log.

  • The dbctl replication status and the HTTP config status page on a slave server have additional information on the last replication activity and the estimated replication lag. This is intended to simplify monitoring the replication status.

  • The dbrepl utility may now be used with operator capabilities. Previous server versions required dba capabilities for replication.


Miscellaneous Changes

  • The startup banner message was removed from most database utilities to simplify use in scripting. In previous versions the banner message was output to stderr when the utility was started. Affected utilities were changed so the utility name is present in any error messages.

  • The dbinfo utility was enhanced to indicate a data set has encrypted or masked fields. In this case an indicator column is output in addition.

    The width of the "capacity" and "entries" columns was extended from 8 to 9 digits.

  • The dbtables utility was enhanced to list FTS fields.

  • The schema utility was enhanced to create new databases. This makes the use of dbcreate optional. dbcreate may still be used but has no effect if the database is already created.

  • The database client library and utilities were enhanced to support encrypted password files.


 
 
 
  Privacy | GDPR / DSGVO | Webmaster | Terms of use | Impressum Revision: 2012-12-21  
  Copyright © 1995-2024 Marxmeier Software AG