Preventing an Automatic Reload of the Database After Failure
After a fatal error that causes the database to be invalidated, TimesTen attempts to reload and recover the database, as long as it is consistent with the settings for the RAM policy, cache agent policy, and replication agent policy.
However, user processes could still be connected to the invalidated database if they do not know that the original database has been invalidated. In this case, the invalidated database exists in memory until all user processes close their connections. Thus, the invalidated database could coexist in memory with the newly reloaded database. This can be an issue if the database is large.
Note:
Not only does the RAM policy determines whether the database is reloaded and recovered, but the cache agent and replication agent policies also factor into whether the database is reloaded after invalidation. If the cache agent and replication agent policies are set so that the daemon automatically restarts the agent after a failure, the agent initiates a connection to the database. If this is the first connection, the daemon reloads the database and performs a recovery.
For more information on cache agent and replication agent policies, see Starting and Stopping the Replication Agents in the Oracle TimesTen In-Memory Database Replication Guide, Set a Cache Agent Start Policy in TimesTen in the Oracle TimesTen In-Memory Database Cache Guide, and ttAdmin in the Oracle TimesTen In-Memory Database Reference.
You can prevent the database from being automatically reloaded after an invalidation
using the ttAdmin -noautoreload
command. You can reset to the default automatic
database reload behavior with the ttAdmin
-autoreload command. See ttAdmin in the
Oracle TimesTen In-Memory Database
Reference.
Note:
The ttRamPolicyAutoReloadSet built-in procedure performs the same
actions as ttAdmin -noautoreload
and ttAdmin -autoreload. See
ttRamPolicyAutoReloadSet in the Oracle TimesTen In-Memory Database
Reference.
Any one of the following initiates a reload and recovery of the database so that standard behavior can resume:
-
The TimesTen daemon restarts.
-
A process connects successfully.
-
The administrator runs a
ttAdmincommand for the database that changes the RAM policy, performs a RAM load, or starts either the cache or replication agents.
If you set the behavior to prevent automatic reloads of the database, you may receive the following error when connecting to a database that was not reloaded.
Error 707, "Attempt to connect to a data store that has been manually unloaded from RAM"