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 the ttCacheADGStandbyStateSet built-in procedure with the FAILED 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 the ttCacheADGStandbyStateSet built-in procedure with the FAILED 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.