“ULC Flushes to Xact Log” reports the total number of times that user log caches (ULCs) were flushed to a transaction log. The “% of total” column reports the percentage of times the type of flush took place, for each category, as a percentage of the total number of ULC flushes. This category can help you identify areas in the application that cause problems with ULC flushes.
There is one user log cache (ULC) for each configured user connection. Adaptive Server uses ULCs to buffer transaction log records. On both SMP and single-processor systems, this helps reduce transaction log I/O. For SMP systems, it reduces the contention on the current page of the transaction log.
You can configure the size of ULCs with the configuration parameter user log cache size.
See the System Administration Guide.
ULC flushes are caused by the following activities:
“by Full ULC” – A process’s ULC becomes full.
“by End Transaction” – A transaction ended (rollback or commit, either implicit or explicit).
“by Change of Database” – A transaction modified an object in a different database (a multi database transaction).
“by System Log Record” – A system transaction (such as an OAM page allocation) occurred within the user transaction.
“by Other” – Any other reason, including needing to write to disk.
When one of these activities causes a ULC flush, Adaptive Server copies all log records from the user log cache to the database transaction log.
“Total ULC Flushes” reports the total number of all ULC flushes that took place during the sample interval.
In databases with mixed data and log segments, the user log cache is flushed after each record is added.