Transaction Journaling on jBASE has been refined over many years to efficiently deliver the facility to log database updates to either files or disk partitions. This optional module enables a log of updates that can be used to greatly reduce the time for database recovery in the event a system or application failure.

jBASE Journaling provides update recording and playback in a range of configurations such as: simple item update recording and replay, Transaction update recording and replay, and Hot Standby recording and replay. Transaction Journaling is very flexible allowing organizations to choose the time to recovery and functionality that best suits their business needs.

Applications that have been developed using the transaction based functionality in jBASIC will gain the most benefit from full roll-back and roll-forward transaction processing with Transaction Journaling. In addition, jBASE supports Two Phase Commit transactions allowing network safe and distributed transactions.


Transaction Journaling provides the capability to log updates which are made to a jBASE database. The order in which the updates are logged will reflect the actual updates made by a particular user/program facility in a sequential manner. Updates made system-wide will be appended to the log as and when they occur on the database; i.e. the transaction log will reflect all updates in sequential order over time. The intention of the transaction log is that it provides a log of updates available for database recovery in the event the system uncontrollably fails.

Transaction Journaling administration utilities provided within jBASE:


The jlogadmin command allows for the administration of the jBASE Transaction Journal. The jlogadmin command will be enabled for interactive usage when invoked by the Administrator; execution by other users being restricted to read-only. All administration tasks contained within the jlogadmin utility can also be invoked from the command line, using jlogadmin, with optional parameters. When the jlogadmin command is executed interactively, navigation to the next field is by using the tab key or cursor-down key and to the previous field by the cursor-up key. Each field can be modified using the same editor type commands as available in jsh. Changes to a particular field are effected by the <Enter> key and CTRL-X is used to exit from interactive mode.


The jlogstatus command displays the status of the jBASE Transaction Journal. In its simplest form the jlogstatus command shows a summary of the current Transaction Journal activities. Additional command line options are available for output that is more verbose. The jlogstatus command can also be used to present a rolling status screen, using the ‘-r n’ option, which will update the display every ‘n’ seconds.


When a jBASE application performs a database update, it writes to the transaction log file (if active). It does this to a memory image and normally it is up to the platform file system to flush the memory image to disk every so often—by default on most platforms this is usually every minute.

You can use options in jlogadmin so that the jBASE processes themselves do this file synchronization more often. The default is every 10 seconds. This means in the event of a system failure, you will lose at the most 10 seconds worth of updates.

The use of the jlogsync program means the jlogsync process instead of individual jBASE processes performs file synchronization. Therefore alleviates the overhead of the synchronization from the update processes meaning the jlogsync process is not mandatory. However, in a large installation it may provide beneficial performance gains.

More details

More details can be found in the Transaction Journaling Documentation.


Learn More

Learn how Transaction Journaling protects your data in this slideshow.


Learn how Transaction Journaling protects your data.