“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 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 ULC size with the configuration parameter user log cache size.
For more information about configuration parameters, see Chapter 5, “Setting Configuration Parameters,” in the System Administration Guide, Volume 1.
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 multidatabase transaction).
“by System Log Record” – a system transaction (such as an OAM page allocation) occurred within the user transaction.
“by Unpin” – two transactions are trying to update the same page of a DOL table.
“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.