PDBフェイルオーバーの実行
PDBフェイルオーバーは、ソースPDBとその指定されたターゲットPDB間のロール・リバーサルです。この操作は、通常、ソースPDBに障害が発生し、適切なタイミングでリカバリする可能性がない場合に実行されます。
次のタイプのPDBフェイルオーバーのいずれかを実行できます。
-
完全なPDBフェイルオーバー
これはデフォルトです。データが失われることはなく、推奨されるオプションです。このオプションは、ソースPDBに問題があるが、ソースCDBが使用可能な場合に使用します。
-
即時PDBフェイルオーバー
これは最も高速なPDBフェイルオーバーのタイプです。ただし、PDBフェイルオーバーを起動すると、ターゲットPDBに追加のデータは適用されません。即時フェイルオーバー操作の後、新しいソースPDBのターゲットPDBとして機能する前に、前のソースPDBを回復する必要があります。このオプションは、ソースCDBが使用できないときに使用します。このような状況では、データ損失の可能性が高くなります。
即時フェイルオーバー操作の後、前のソースPDBを削除する必要があります。即時PDBフェイルオーバー後の新しいソースPDBは保護されません。データ保護を再開するには、新しいDGPDBを追加する必要があります。
ブローカによるDG PDB環境でのフェイルオーバーの実行方法
PDBフェイルオーバーを開始すると、ブローカは一連のステップを実行します。
-
ターゲット・データベースがアクセス可能であることを確認します。ターゲット・データベースに到達できない場合、フェイルオーバーは実行できません。
-
ソースPDBおよびターゲットPDBが正しい状態であることを確認します。ソースPDBはオープンまたはクローズできます。ターゲットPDBはリカバリ・モードである必要があります。
この検証は、即時PDBフェイルオーバーには実行されないことに注意してください。
-
ターゲットPDBがソースPDBの現在のREDOストリームをリカバリしていることを確認します。
-
すべてのインスタンスでソースPDBをクローズします。
-
ターゲット・データベースが未適用のREDOデータの適用を終了するのを待ってから、REDO Applyを停止します。即時フェイルオーバーの実行時に、未適用のREDOは適用されません。
-
次のように、ターゲットPDBをソースPDBに遷移させます。
-
ターゲットPDBのロールをソースPDBに変更します。
-
新しいソースPDBを読取り/書込みモードでオープンします。
-
フェイルオーバーの完了後、ブローカでは新しいターゲットPDB (元のソースPDB)でリカバリは実行されません。新しいターゲット・データベースを再起動したり、ENABLE DATABASEコマンドを実行した場合でも、リカバリは開始されません。障害の原因となった問題に対処したら、SET STATE=APPLY-ONオプションを指定してEDIT PLUGGABLE DATABASEコマンドを実行してリカバリを開始します。