What is IBLMPump?
IBLMPump v1.1 is a command line utility to pump logged data from the main database
into an external database using the InterBase and Firebird two phase commit protocol.
Using InterBase and Firebird triggers as the main concept for the IBLM 2.1 logging
mechanism has the main drawback, that data changes can only be logged within the
database and therefore:
a) The database grows permanently and slows down the backup process using gbak
b) In case of database corruption, logged data is possibly lost
Due to the Multi-Generational Architectur (MGA) of InterBase and Firebird it isn't
necessary to keep an external transaction log file, which is processed in case
of a database crash to bring the database online again.
In case of a mechanical disk drive failure the only protection for a versioning
database like InterBase and Firebird is to mirror the database using built in
shadowing or RAID systems.
So, why should one use IBLMPump v1.1? IBLMPump v1.1 will solve at first a),
because logged data can be transferred to an external, with IBLM prepared,
database - a so called "transaction log database" and it will play an important
role for b) later, because the external transaction log can be applied on a
running backup to bring the database, for a specific point in time, back again.
How to use?
IBLMPump v1.1 can be simply used as a command line utility and therefore it is
possible to schedule the pump process using any task scheduling facility like
'AT' under Windows NT/Windows 2000/Windows XP.
Command line usage:
IBLMPump (-i <filename> [-b [<interval>]] [-v [<filename>]] [-s]) | (-z)
Options:
|
-i <filename> |
specifies the pump configuration file |
|
-b <interval> |
Background pumping. Timer-based mode with a given
<interval> in milliseconds or event-based using
InterBase/Firebird events if <interval> isn't
specified. A suppressed <interval> and an
non-existing event, switches into the timer-based
mode with a default <interval> of 60 seconds. |
|
-v [<filename>] |
report each action to the screen or writes them to <filename> if specified |
|
-s |
send email after the pump process has been finished |
|
-z |
print version information |
Some examples:
IBLMPump -i iblmpump.ini
IBLMPump -i iblmpump.ini -v
IBLMPump -i iblmpump.ini -v iblmpump.log
IBLMPump -i iblmpump.ini -v -s
IBLMPump -i iblmpump.ini -v iblmpump.log -s
IBLMPump -i iblmpump.ini -b -v
IBLMPump -i iblmpump.ini -b 30000 -v
IBLMPump -z
The user-definable file <filename> for the '-i' switch defines all necessary
connection parameters for both, the source and the destination database and
email settings used by the '-s' switch.
For example:
[Source]
Path=localhost:M:\IBLM_TEST_D3.GDB
Charset=ISO8859_1
Username=SYSDBA
Password=masterkey
Dialect=3
IBLM_MetadataTable=IBLM$METADATA
LogCurrentGeneratorValues=1
[Destination]
Path=vmlinux:/data/iblm_d3_log.gdb
Charset=ISO8859_1
Username=SYSDBA
Password=masterkey
Dialect=3
IBLM_MetadataTable=IBLM$METADATA
[General]
SMTP_Host=smpt.host.com
SMTP_Port=25
EmailFrom_Name=IBLMPump Utility
EmailTo_Address=validaddress@host.com
EmailCc_Address=
EmailBcc_Address=
The section [Source] defines the connection information for the source database
and [Destination] for the destination database. As you see, you can have the
destination database located on another machine. The 'LogCurrentGeneratorValues'
property set to 1 will log the current generator(s) value(s) in the source
database before executing the pump process. In the [General] section you
will find necessary settings for sending emails using the '-s' switch.
The parameter IBLM_MetadataTable defines the name of metadata table in the IBLM
prepared database. This is 'LOG_NOTATION' for IBLM 1.x and 'IBLM$METADATA' for
IBLM 2.x (without quotes).
The destination database must be prepared too. The easiest way to do
that is to use the 'Create Log Database' facility of IB LogManager. The table
names for the operation and column log table will be determined at run-time by
reading the metadata table.
How to obtain IBLMPump?
IBLMPump is free for registered IBLM customers only. If you want
to deploy IBLMPump to your customers, who haven't an IB LogManager
license, then you can purchase IBLM independent IBLMPump licenses here.
|