Technical data
Poor autorefresh performance
Troubleshooting Oracle In-Memory Database Cache 4-23
Unresponsive or dead TimesTen database degrades autorefresh performance
If any TimesTen databases containing autorefresh cache groups are destroyed or no
longer in use, TimesTen continues to track autorefresh changes to the Oracle tables for
the TimesTen database for which the cache agent is not running. This causes automatic
refresh to cache groups in active TimesTen databases to slow down.
The cache agent is responsible for detecting if a database is unresponsive or no longer
in use. You can specify if and how a dead TimesTen database is to be recovered.
However, you cannot recover a TimesTen database if all of the Oracle objects have
been removed.
The following sections describe how you can avoid a degraded autorefresh
performance for inactive TimesTen databases:
■ Setting cached TimesTen database timeout
■ Configuring recovery method for certain cache groups
Setting cached TimesTen database timeout
You can instruct TimesTen to mark the database as dead and no longer accepting
updates if the cache agent has not communicated with the Oracle server within a
specific timeout period.
Set the timeout for the TimesTen database and the recovery method for each
autorefresh cache group with the AgentTimeOut parameter in the ttCacheConfig
built-in procedure. The timeout value applies to the all TimesTen databases that use
the same cache administration user. You should set the timeout value greater than the
time necessary to load the TimesTen database into memory on first connect and start
the cache agent. Otherwise, the TimesTen database could be incorrectly marked as
dead. For any planned maintenance for the TimesTen instance, you could temporarily
set the AgentTimeOut value to zero to disable the timeout. For full details of the
ttCacheConfig built-in procedure, see the "ttCacheConfig" section in the Oracle
TimesTen In-Memory Database Reference.
For example, the following sets the timeout value for the TimesTen database to 6000
seconds or 100 minutes. If the cache agent does not contact the Oracle server within a
100-minute period, then the TimesTen database is marked as dead.
ttIsql> call ttCacheConfig('AgentTimeOut',,,'6000');
Configuring recovery method for certain cache groups
You can recover a TimesTen database and autorefresh cache groups if they are not
synchronizing with the Oracle database. If there is no synchronization, then updates
on the Oracle tables are not automatically refreshed to the corresponding TimesTen
cache tables.
You can configure the DeadDbRecovery parameter of the ttCacheConfig built-in
procedure to specify how to recover the synchronization for the TimesTen database
and all autorefresh cache groups. The setting for DeadDbRecovery applies to all
TimesTen databases that use the same cache administrator user. Set the
Note: Automatic recovery for TimesTen cache groups only applies to
read-only and user managed cache groups that use the
AUTOREFRESH cache group attribute. In this section, all references to
autorefresh cache groups are read-only and user managed cache
groups that use the AUTOREFRESH cache group attribute.