Running Large Transactions with Incremental Autorefresh Read-Only Cache Groups

At certain times, you may run large transactions, such as for the end of the month, the end of a quarter, or the end of the year transactions. You may also have situations where you modify or add a large amount of data in the Oracle database over a short period of time.

For read-only cache groups with incremental autorefresh, TimesTen could run out of permanent space when an autorefresh operation applies either of these cases. Therefore, for these situations, you can configure an autorefresh transaction limit, where the large amount of data is broken up, applied, and committed over several smaller transactions.

Note:

The autorefresh transaction limit can only be set for static read-only cache groups.

The ttCacheAutorefreshXactLimit built-in procedure enables you to direct autorefresh to commit after running a specific number of operations. This option applies to all incremental autorefresh read-only cache groups that are configured with the same autorefresh interval.

Since the single transaction is broken up into several smaller transactions, transactional consistency cannot be maintained while autorefresh is in progress. Once the autorefresh cycle completes, the data is transactionally consistent. To protect instance consistency, we recommend that you set the autorefresh transaction limit only on cache groups with only a single table, since instance consistency between the parent and child tables is not guaranteed. When the autorefresh transaction limit is turned on, TimesTen does not enforce the foreign key relationship that protects instance consistency. Once you turn off the autorefresh transaction limit for incremental autorefresh read-only cache groups, both instance and transactional consistency are maintained again.

Note:

If you are using an active standby pair, you must call the ttCacheAutorefreshXactLimit built-in procedure for the same values on both the active and standby masters.

The following sections describe how to configure an autorefresh transaction limit.