PDBスイッチオーバーの実行

PDBスイッチオーバーは、ソースPDBとその指定されたターゲットPDB間のロール・リバーサルです。DGMGRLコマンドを使用してPDBスイッチオーバーを実行します。

ブローカによるDG PDB環境でのスイッチオーバーの実行方法

スイッチオーバーを開始すると、ブローカは次の処理を実行します。

  1. 指定されたターゲット・データベースがアクセス可能であり、ターゲットPDBが存在し、ターゲットPDBが指定されたDG PDBであることを確認します。

  2. ソースPDBおよびターゲットPDBが正しい状態であることを確認します。ソースPDBが読取り/書込みモードでオープンしており、ターゲットPDBがリカバリ・モードである必要があります。

  3. ターゲットPDBがソースPDBの現在のREDOストリームをリカバリしていることを確認します。

  4. すべてのインスタンスでソースPDBをクローズします。

  5. ソースPDBをスタンバイ・ロールに変換します。スイッチオーバーが完了すると、ソースPDBがターゲットPDBになります。

  6. ターゲットPDBがソースPDBによって生成されたすべてのREDOを介してリカバリされ、リカバリが取り消された後、ターゲットPDBをプライマリ・ロールに変換します。

  7. ターゲットPDBを新しいソースPDBとしてオープンします。

  8. ターゲットPDBからのREDOが元のソースPDBに登録された後にリカバリを開始します。

PDBへのスイッチオーバーの開始

スイッチオーバーが開始されると、ソースPDBおよびターゲットPDBのREDOラグはできるだけ小さくする必要があります。

PDBスイッチオーバーを開始するには:

  • SWITCHOVER PLUGGABLE DATABASEコマンドを実行します。プライマリ・ロールを実行する必要があるPDBの名前を指定します。

ブローカは残りのPDBスイッチオーバーを制御します。

例7-1 PDBスイッチオーバーの実行

この例では、PDB bos_salesnyc_salesの間でスイッチオーバーを実行します。スイッチオーバー操作が完了すると、ターゲット・データベースnewyork内のターゲットPDB nyc_salesがプライマリ・ロールに変わり、新しいソースPDBになります。

DGMGRL> SWITCHOVER TO PLUGGABLE DATABASE nyc_sales AT newyork; 
Verifying conditions for Switchover... 

  Source pluggable database is 'BOS_SALES' at database 'boston' 

Performing switchover NOW, please wait... 

  Closing pluggable database 'BOS_SALES'... 
  Switching 'BOS_SALES' to standby role... 
  Waiting for 'NYC_SALES' to recover all redo data... 
  Stopping recovery at 'NYC_SALES'... 
  Converting 'NYC_SALES' to primary role... 
  Opening new primary 'NYC_SALES'... 
  Waiting for redo data from new primary 'NYC_SALES'... 
  Starting recovery at new standby 'BOS_SALES'... 

Switchover succeeded, new primary is "NYC_SALES"