障害リカバリ・スクリプトの作成

障害を検出した後、クラスタ・マネージャは、障害リカバリの疑似コードで示されたプロシージャを効果的に実行するスクリプトを実行する必要があります。

Detect problem {
       if (Master == unavailable) {
          FailedDataDatabase = Master
          FailedDSN = Master_DSN
          SurvivorDatabase = Subscriber
          switch users to SurvivorDatabase
      }
else {
          FailedDatabase = Subscriber
          FailedDSN = Subscriber_DSN
          SurvivorDatabase = Master
      }
}
Fix problem....
If (Problem resolved) {
       Get state for FailedDatabase
       if (state == "failed") {
         ttDestroy FailedDatabase
         ttRepAdmin -dsn FailedDSN -duplicate
                 -from SurvivorDatabase -host SurvivorHost
                 -uid ttuser
                 -pwd ttuser
      }
      else {
         ttAdmin -repStart FailedDSN
      }
      while (backlog != 0) {
         wait
      }
}

Switch users back to Master.

これは、マスターまたはサブスクライバのいずれかのデータベースに適用します。マスターで障害が発生すると、一部のトランザクションが失われる場合があります。