ActivateDeltaDb

The ActivateDeltaDb command creates a new delta database in the deltadb subdirectory of the root database and then converts the root database to delta mode. A database in delta mode allows non-permanent (or tentative) changes to be made to a database in read-only mode.

The DeltaDatabaseCapable parameter in the [JadeServer] section of the JADE initialization file on the database server node must be set to true for an activation request to succeed.

Activating a delta database creates a new (empty) delta database and converts the current (root database) to delta mode. When the root database is in delta mode, it is in a read-only state and all object create, update, and delete operations on non-environmental persistent objects are redirected to the delta database. When an SDS native or RPS secondary database is in delta mode, database tracking is halted.

Current applications do not need to be idle when the delta database is being activated. However, allowing database transactions that started before delta mode was activated to commit after activation is not permitted. To prevent in-progress transactions from spanning an activation boundary, activating delta mode acquires a database quietpoint, which is acquired by blocking the start of new transactions in the database engine and waiting for existing transactions to complete.

If a database quietpoint cannot be achieved within the number of seconds specified by the MaxWaitForQuietPoint parameter in the [PersistentDb] section of the JADE initialization file, activation fails and error 3077 is returned.

The syntax of the ActivateDeltaDb action is as follows.

jdbadmin action=ActivateDeltaDb
         [path=database-path]
         [ini=initialization-file-name]
         [server=multiUser]

The following is an example of the ActivateDeltaDb action.

jdbadmin path=d:\salesdb ini=d:\salesdb\jade.ini action=ActivateDeltaDb

Exception 1162 (The system is not Delta Database capable) is raised if you attempt to activate a delta database in single user mode.

You can also activate the delta database at run time, by calling the System class activateDeltaDatabase method with the activate parameter set to true.