Transaction journaling provides the capability to log database updates to either files or disk partitions. The intention of the transaction journal is to provide a log of updates which can be made available for database recovery, in the event that the system uncontrollably fails.
The jlogadmin command is provided to configure and start/stop/suspend transaction journaling. The jlogstatus command can be used to monitor the active of transaction journaling. To recover or replicate data the jlogdup command is provided.
When journaling is running the basic order of operations for updates is as follows:
(a) Update the log in memory.
(b) At some point the memory is flushed to disk. The log is flushed every 10 seconds by default, however this time period can be configured via an option on the administration command, jlogadmin. It is also possible to configure an independent process to execute the jlogsync command, to ensure the log is continuously flushed from memory at the specified interval, thus alleviating the flush procedure from all of the update processes.
It is possible that the transaction journal log can be corrupted should a system failure occur while the log is being flushed; this is impossible to circumvent. However it will only be corrupted at the end of the log file, so it is possible to recover right up to the point of the system failure.
There is still the possibility that when the system crashes both the disks with the data on AND the disks with the logger data will be lost. This is a highly improbable scenario which can however be covered by running a continuous jlogdup to a secondary machine or tape devices.
To use jBASE Transaction Journaling, you must install an additional license key.