プライマリデータベースとスタンバイデータベースのデータが完全に整合しているかどうかにかかわらずスタンバイクラスタ上でアプリケーションをオンラインにする必要がある場合は、テイクオーバーを実行します。この節では、保護グループが起動されていることを前提とします。
テイクオーバーを開始したあとで、次の処理が行われます。
以前の主クラスタ cluster-paris が到達可能であり、保護グループが通知処理またはそれ以外の理由でロックされていない場合は、保護グループが無効になります。
どのクラスタが cluster-paris かを確認するために、『Sun Cluster Geographic Edition のシステム管理』の「Sun Cluster Geographic Edition クラスタ構成の例」を参照してください。
以前の主クラスタ cluster-paris からテイクオーバー中の保護グループに存在する Oracle Data Guard Broker 構成に複製されたデータベースは、新しい主クラスタ cluster-newyork によってテイクオーバーされます。
このデータは、元の主クラスタのデータベースとは一致していないことがあります。新しい主クラスタ cluster-newyork から元の主クラスタ cluster-paris へのデータ複製が停止します。
データ複製を有効にすることなく、保護グループが有効になります。テイクオーバーされる各 Oracle Data Guard Broker 構成の元のプライマリデータベースは無効になり、recovery required 状態になります。
テイクオーバーの前後で考えられる主クラスタとスタンバイクラスタの条件については、『Sun Cluster Geographic Edition のシステム管理』の付録 C「テイクオーバー後の状態」を参照してください。
この節では、次の内容について説明します。
スタンバイクラスタに主クラスタの処理を引き受けさせるためには、次の条件が満たされている必要があります。
クラスタ上で Sun Cluster Geographic Edition ソフトウェアが稼働中である。
クラスタがパートナーシップのメンバーである。
スタンバイクラスタ上で保護グループの Configuration の状態が OK に設定されている。
スタンバイクラスタ内のノードの 1 つにログインします。
この手順を完了するには、ユーザーに Geo Management RBAC 権利プロファイルが割り当てられている必要があります。 RBAC の詳細は、『Sun Cluster Geographic Edition のシステム管理』の「Sun Cluster Geographic Edition ソフトウェアと RBAC」を参照してください。
テイクオーバーを開始します。
phys-node-n# geopg takeover [-f] protectiongroupname |
ユーザーに確認することなく、強制的にコマンドを実行します。
保護グループの名前を指定します。
この例では、sales-pg を、スタンバイクラスタ cluster-newyork によって強制的にテイクオーバーする方法を示します。
ノード phys-newyork-1 はスタンバイクラスタの 1 番目のノードです。どのノードが phys-newyork-1 かを確認する場合は、『Sun Cluster Geographic Edition のシステム管理』の「Sun Cluster Geographic Edition クラスタ構成の例」 を参照してください。
phys-newyork-1# geopg takeover -f sales-pg |
テイクオーバー後の主クラスタとスタンバイクラスタの状態については、『Sun Cluster Geographic Edition のシステム管理』の付録 C「テイクオーバー後の状態」を参照してください。
geopg takeover コマンドを実行すると、ソフトウェアにより、スタンバイクラスタ上の Oracle Data Guard Broker 構成内のデータベースが有効であることが確認されます。このデータベースはテイクオーバー後にプライマリデータベースになります (無効なデータベースへのテイクオーバーは実行できません)。また、ソフトウェアにより、Oracle Data Guard コマンド行インタフェース show configuration コマンドが SUCCESS 状態を示すか、または健全性検査のためビジー状態であるかが確認されます (ORA-16610)。show configuration コマンドによってその他の Oracle エラーコードが返される場合は、テイクオーバーは失敗します。
元の主クラスタ cluster-paris に到達できる場合は、ソフトウェアにより、アプリケーションリソースグループはオフライン状態となり、Unmanaged 状態になります。
元のスタンバイクラスタ cluster-newyork 上で、ソフトウェアにより、次の処理が実行されます。
Oracle Data Guard コマンド行インタフェース failover to standby-database-name immediate コマンドを実行します。
RoleChange_ActionCmd プロパティーによって指定されているスクリプトを実行します。
テイクオーバー前に元のスタンバイクラスタで保護グループが有効だった場合、すべての Oracle シャドウ RAC サーバープロキシリソースグループ およびアプリケーションリソースグループをオンラインにします。
コマンドが正常に実行された場合、スタンバイクラスタ cluster-newyork が保護グループの新しい主クラスタになります。ローカルクラスタ上の保護グループの役割に従って、保護グループの Oracle Data Guard Broker 構成と関連付けられているデータベースの役割が逆転します。Oracle シャドウ RAC サーバープロキシリソースグループ とその他のアプリケーションリソースグループは、新しい主クラスタ上でオンラインになります。 元の主クラスタにアクセスできる場合、このクラスタが保護グループの新しいスタンバイクラスタになります。保護グループの Oracle Data Guard Broker 構成に関連付けられているすべてのデータベースの複製は停止されます。
テイクオーバーが正常に完了すると、データ複製は停止します。複製を引き続き中断したままにする場合は、geopg start コマンドを -n オプション付きで実行します。このオプションを指定すると、新しい主クラスタから新しいスタンバイクラスタへのデータ複製が行われません。
以前の操作に失敗する場合、コマンドによって、エラーが返されます。個々のコンポーネントの状態を表示するには、geoadm status コマンドを実行します。たとえば、失敗の原因によっては、保護グループの Configuration の状態が Error 状態に設定されることがあります。保護グループは、有効になっている場合と無効になっている場合があります。
保護グループの Configuration の状態が Error 状態に設定されている場合は、「Oracle Data Guard 保護グループを検証する方法」の手順に従って、保護グループを再検証します。
個々のパートナークラスタ上で保護グループの構成が一致していない場合は、「Oracle Data Guard 保護グループを再同期する方法」の手順に従って、構成を再同期させる必要があります。