SESSION WITH ON_LOGFULL
When the transaction log file fills, the oldest transaction is, by default, aborted to free up log space. The SET SESSION WITH ON_LOGFULL statement can be used to modify this behavior.
The ON_LOGFULL= option takes the following parameters:
COMMIT
Silently (without notification) commits the transaction.
ABORT
Aborts the transaction.
NOTIFY
Commits the transaction and writes notification of the commit to the DBMS log.
ON_LOGFULL can appear any number of times during a transaction, either within or without the scope of the transaction.
When specifying COMMIT or NOTIFY, if a logfull condition occurs, the multi-row update can be partially committed. For example, using the following syntax commits the rows deleted from tablename up to the moment the logfull condition is detected.
[EXEC SQL] SET SESSION WITH ON_LOGFULL = COMMIT;
[EXEC SQL] DELETE FROM tablename;
If the transaction is aborted after the commit point, only the post-commit updates are rolled back.
The DBA can configure the DBMS to force a notification when ON_LOGFULL=COMMIT is triggered. Setting the DBMS configuration parameter olfc_notify=on in CBF causes ON_LOGFULL=COMMIT to be treated like ON_LOGFULL=NOTIFY.
Last modified date: 08/29/2024