Failure of the Standby Oracle Database
When the standby Oracle database in an Active Data Guard configuration fails, the cache agent retries the connection to the standby Oracle database.
Note:
You can notify the cache agent of whether the standby Oracle database is active or has failed by calling the ttCacheADGStandbyStateSet
built-in procedure with either the ON
or the FAILED
arguments.
-
If a timeout is set, then the cache agent waits for the amount of time specified with the
ttCacheADGStandbyTimeoutSet
built-in procedure. If the standby Oracle database has not recovered after this period, then the cache agent sets the state of the standby Oracle database by calling thettCacheADGStandbyStateSet
built-in procedure with theFAILED
argument and then facilitates autorefresh using only the primary Oracle database. -
If no timeout has been set with the
ttCacheADGStandbyTimeoutSet
built-in procedure (default value is 0), then the cache agent continues to wait on the standby Oracle database, unless you inform the cache agent that the standby Oracle database is not recovering by calling thettCacheADGStandbyStateSet
built-in procedure with theFAILED
argument.
Once the state of the standby Oracle database is set to FAILED
, the cache agent resumes autorefresh with only the primary Oracle database until you reset the state of the standby Oracle database by calling the ttCacheADGStandbyStateSet
built-in procedure with the ON
argument. Even if the standby Oracle database eventually does recover, the cache agent does not recognize that the standby Oracle database is active until you reset its state to ON
.
Once the state of the standby Oracle database is set to ON
, the cache agent pauses to wait for the standby Oracle database to catch up to the primary Oracle database. After which, the cache agent resumes autorefresh from the primary Oracle database for those transactions that have successfully replicated to the standby Oracle database.
You can restore the original Active Data Guard configuration by dropping the active standby pair and then loading the cache groups.
See ttCacheADGStandbyTimeoutSet and ttCacheADGStandbyStateSet in the Oracle TimesTen In-Memory Database Reference.