geopg switchover コマンドを実行すると、ソフトウェアにより、主クラスタがプライマリデータベースを保持していることが確認されます。このコマンドによって、リモートデータベースが Oracle Data Guard Broker 構成内で enabled 状態であることが確認されます。また、このコマンドによって構成が健全であることも確認されます。このコマンドでは、Oracle Data Guard コマンド行インタフェース (dgmgrl) show configuration コマンドを実行して、SUCCESS 状態が返されることを確認します。このコマンドからの出力に、Oracle Data Guard Broker が自身の健全性検査のためビジー状態であることが示される場合、Oracle Data Guard コマンド行インタフェースは、SUCCESS 応答を受信するまで、または 2 分経過するまでこのコマンドを再試行します。このコマンド行インタフェースが SUCCESS 応答を受け取れない場合、コマンドの実行は失敗します。構成が健全な場合、ソフトウェアにより、元の主クラスタに対して次の処理が実行されます。
アプリケーションリソースグループをオフラインにし、unmanaged 状態にします
保護グループ内の各 Oracle Data Guard Broker 構成に対して switchover to standby-database-name コマンドを実行します。
元のスタンバイクラスタでは、同じコマンドによって次の処理が行われます。
RoleChange_ActionCmd プロパティーに定義されているスクリプトを実行します
すべての Oracle シャドウ RAC サーバープロキシリソースグループ とその他すべてのアプリケーションリソースグループをオンラインにします。
コマンドが正常に実行された場合、スタンバイクラスタ cluster-newyork が保護グループの新しい主クラスタになります。元の主クラスタ cluster-paris は新しいスタンバイクラスタになります。ローカルクラスタ上の保護グループの役割に従って、保護グループの Oracle Data Guard Broker 構成と関連付けられているデータベースの役割が逆転します。Oracle シャドウ RAC サーバープロキシリソースグループ とその他すべてのアプリケーションリソースグループは、新しい主クラスタ上でオンラインになります。 新しい主クラスタから新しいスタンバイクラスタへのデータ複製が開始されます。
このコマンドは、それまでの操作のうち 1 つでも失敗したものがあると、エラーを返します。個々のコンポーネントの状態を表示するには、geoadm status コマンドを実行します。失敗の原因によっては、保護グループの Configuration の状態が Error に設定されることがあります。保護グループは、有効になっている場合と無効になっている場合があります。
保護グループの Configuration の状態が Error に設定されている場合は、「Oracle Data Guard 保護グループを検証する方法」の手順に従って、保護グループを再検証します。
個々のパートナークラスタ上で保護グループの構成が一致していない場合は、「Oracle Data Guard 保護グループを再同期する方法」の手順に従って、構成を再同期させる必要があります。