OracleAS Disaster Recovery
6.12 実行時操作 実行時操作 実行時操作 実行時操作 : OracleAS Guard のスイッチオーバーおよびフェ のスイッチオーバーおよびフェ のスイッチオーバーおよびフェ のスイッチオーバーおよびフェ イルオーバー操作
イルオーバー操作 イルオーバー操作 イルオーバー操作
実行時操作には、スケジューリングした停止と計画外停止を含む停止の操作(第6.12.1項「停 止」を参照)、asgctlコマンドライン・ユーティリティを使用した実行中のOracleAS Guard操 作を監視する操作およびトラブルシューティング(第6.15項「OracleAS Guard操作の監視と トラブルシューティング」を参照)があります。
6.12.1 停止 停止 停止 停止
停止には、スケジューリングした停止と計画外停止の2つのカテゴリがあります。
次のサブセクションではこれらの停止について説明します。
6.12.1.1 スケジューリングした停止 スケジューリングした停止 スケジューリングした停止 スケジューリングした停止
スケジューリングした停止とは、計画停止のことです。この停止は、ビジネス・アプリケー ションをサポートするテクノロジ・インフラストラクチャの定期的なメンテナンスのために必 要で、この間に、ハードウェアのメンテナンスや修復とアップグレード、ソフトウェアのメン テナンスとパッチ適用、アプリケーションの変更とパッチ適用、およびシステムのパフォーマ ンスと管理機能強化を目的とした変更などのタスクが実行されます。スケジューリングした停 止は、本番サイトまたはスタンバイ・サイトのどちらでも実行できます。次に、本番サイトま たはスタンバイ・サイトに影響を与えるスケジューリングした停止について説明します。
■ サイトレベルのメンテナンス
現行の本番環境があるサイト全体が使用できなくなります。サイトレベルのメンテナンス の例には、スケジューリングした停電、サイトのメンテナンス、定期的に計画されたス イッチオーバー操作などがあります。
■ OracleAS Cold Failover Cluster クラスタレベルのメンテナンス
これは、ハードウェア・メンテナンスのためにスケジューリングした、OracleAS Cold
Failover Clusterの停止時間です。この停止時間は、ハードウェア・クラスタ全体に影響を
与えます。クラスタレベルのメンテナンスの例には、クラスタ・インターコネクトの修復、
クラスタ管理ソフトウェアのアップグレードなどがあります。
■ スタンバイ・サイトのテストおよび検証(OracleAS Disaster Recoveryが万全かどうかをテ ストする)
スケジューリングした停止では、次の項で説明するサイト・スイッチオーバー操作を実行する 必要があります。
サイト・スイッチオーバー操作 サイト・スイッチオーバー操作 サイト・スイッチオーバー操作 サイト・スイッチオーバー操作
サイト・スイッチオーバーは、本番サイトの計画停止の際に実行されます。スイッチオーバー 時には、本番サイトとスタンバイ・サイトの両方が使用可能である必要があります。データ ベースREDOログは、中間層およびOracleAS Infrastructureインストールの構成ファイルの バックアップおよびリストアと同時に適用されます。
サイト・スイッチオーバー時は、DNS情報が長時間キャッシュされないように配慮する必要が あります。そのため、サイトのDNS情報の変更、具体的にはTime-To-Live(TTL)値の変更が 必要です。手順は、第6.16.2項「DNS名の手動変更」を参照してください。
ポリシー・ファイルを使用する場合、スイッチオーバー・ポリシー・ファイル(switchover_
policy.xml)を編集して使用します。このファイルをswitchover topologyコマンドの using policy <file>パラメータで指定し、それによって指定されたインスタンスに対して のみスタンバイ・トポロジにスイッチオーバーします。詳細は、第6.7項「いくつかのasgctl コマンドでのポリシー・ファイルのダンプとポリシー・ファイルの使用」を参照してください。
この例では、ポリシー・ファイルの使用例は示しません。
CFC環境にOracleAS Disaster Recovery構成があり、スイッチオーバー操作を計画している場
合は、第7.2.1.3項「CFC環境でスイッチオーバー操作を実行するときの特別な考慮事項」を参
照してください。
本番サイトからスタンバイ・サイトにスイッチオーバーする手順は次のとおりです。
1. サイト用のワイド・エリアDNSのTTL値を減らします。詳細は、第6.16.2項「DNS名の 手動変更」を参照してください。
2. プライマリInfrastructureシステムで、emagentプロセスが停止していることを確認しま す。停止していない場合は、emagentがデータベースと接続されているため、スイッチ オーバー操作の実行時に次のエラーが発生することがあります。
prodinfra: -->ASG_DGA-13051: Error performing a physical standby switchover.
prodinfra: -->ASG_DGA-13052: The primary database is not in the proper state to perform a switchover. State is "SESSIONS ACTIVE"
UNIXシステムの場合、次のようにしてApplication Server Controlを停止し
(iasconsole)、emagentプロセスを停止します。
> <ORACLE_HOME>/bin/emctl stop iasconsole 注意
注意 注意
注意: スイッチオーバー操作中に、opmn.xmlファイルがプライマリ・サイ トからスタンバイ・サイトにコピーされます。このため、TMP変数の値はプ ライマリ・サイトとスタンバイ・サイトの両方のopmn.xmlファイルで同じ 値に定義する必要があります。そうしないと、ディレクトリが見つからない というメッセージが表示され、このスイッチオーバー操作は失敗します。し たがって、TMP変数が同じ値に定義され、スイッチオーバー操作を試行する 前に両方のサイトの同じディレクトリ構造に解決されることを確認してくだ さい。
UNIXシステムの場合、emagentプロセスが実行されていないかをチェックするために、
次のコマンドを入力します。
> ps -ef | grep emagent
UNIXシステムの場合、iasconsoleの停止操作の後でemagentプロセスが依然として実行 されている場合は、前のpsコマンドで示したようにプロセスID(PID)を取得し、次のよ
うにしてemagentプロセスを停止します。
> kill -9 <emagent-pid>
Windowsシステムの場合、「サービス」コントロールパネルを開きます。
OracleAS10gASControlサービスを見つけて、このサービスを停止します。
3. OracleAS Guardクライアントのコマンドライン・ユーティリティasgctlを起動し、
OracleAS Guardサーバーに接続します。UNIXシステムでは、asgctl.shは<ORACLE_
HOME>/dsa/binにあり、Windowsシステムでは、asgctl.batは<ORACLE_
HOME>¥dsa¥binにあります。
> asgctl.sh
Application Server Guard: Release 10.1.2.0.2
(c) Copyright 2004, 2005 Oracle Corporation. All rights reserved ASGCTL> connect asg prodinfra ias_admin/<adminpwd>
4. プライマリ・データベースを指定します。詳細は、第6.17.1.2項「プライマリ・データ ベースの指定」を参照してください。
ASGCTL> set primary database sys/testpwd@asdb
5. Oracle RACの障害時リカバリの配置では、スイッチオーバーを実行する前にすべてのイン
スタンスを停止します。
a. shutdown_asdb_instance.shスクリプトを作成し、スクリプト内で指定している 場所にコピーします。これはOracleホーム内の場所である必要があります。
#shutdown_asdb_instance.sh for asdb instance
#in /private/oracle/product/10.1.0/asdb on db_site1_node1 & db_site2_node1 export ORACLE_HOME=/private/oracle/product/10.1.0/asdb
$ORACLE_HOME/bin/srvctl stop instance -d asdb -i asdb2
b. asgctlのrunコマンドを使用して、インスタンスを停止するスクリプトを実行します。
ASGCTL> run at instance asdb shutdown_asdb_instance.sh
6. トポロジをセカンダリ・サイトにスイッチオーバーします。ポリシー・ファイルを使用す る場合、using policy <file>パラメータを指定します。<file>は、switchover_
policy.xmlファイルのパスとファイルの指定を表します。
ASGCTL> switchover topology to standbyinfra 注意注意
注意注意: この例では、Oracleホームにインストールして、分散されたASGの スクリプティング機能を利用するスクリプトを作成します。これにより、シ ステム管理者はasgctlユーティリティからすべてのスイッチオーバー操作を 実行できます。srvctlユーティリティで、クラスタ内のすべてのインスタン スを停止します。
注意 注意 注意
注意: OracleAS Guardのスイッチオーバー操作の際に、implicit sync
topology操作が実行され、2つのトポロジが同一であるか確認されます。さ
らに、本番サイトですべてのOPMNサービスを停止し、再起動します。
7. 古いプライマリ・サイトのOracleAS Guardサーバーを切断します。
ASGCTL> disconnect ASGCTL>
8. 第6.16項「ワイド・エリアDNSの操作」のオプションの1つに基づいたワイド・エリア DNSスイッチオーバーを実行して、リクエストが新しい本番サイトへと送信されるように します。
9. ワイド・エリアDNSのTTLを適切な値に調整します。
スイッチオーバー操作に関する特別な考慮事項 スイッチオーバー操作に関する特別な考慮事項 スイッチオーバー操作に関する特別な考慮事項 スイッチオーバー操作に関する特別な考慮事項
この項では、スイッチオーバー操作に関する次のような特別な考慮事項について説明します。
■ 2つのOracle Identity Managemantインスタンスが稼動しているプライマリ・サイトから、
Oracle Identity Managemantインスタンスが1つだけ稼動している非対称トポロジのスタ
ンバイ・サイトへのスイッチオーバー操作を実行する場合、つまり、スイッチオーバー・
サイトでもう1つのノードを無視する場合、このスイッチオーバー操作を成功させるには、
システム管理者がswitchover_policy.xmlポリシー・ファイルを編集してノードを
Ignoreに設定するだけでなく、このノードで実行中のすべてのプロセスを停止する必要が
あります。たとえば、プライマリ・サイトで実行されている2つのOracle Identity Managementインスタンスがim.machineA.us.oracle.comとim.machineB.us.oracle.comで あり、もう1つのノード(im.machineB.us.oracle.com)がスイッチオーバー・サイトで無 視される場合、スイッチオーバー操作が正常に実行されるためには、システム管理者はそ のノード(im.machineB.us.oracle.com)上で実行されているすべてのプロセスを停止する ことも必要です。
■ スイッチオーバー操作の後にdiscover topologyコマンドが実行される際に、非対称スタン バイ・サイト・トポロジに存在する中間層(例: instA、instB)が元の本番サイト・トポロ ジにある中間層(例: instA、instB、instC)より少ない場合、存在していない中間層のイ ンスタンスごとに警告エラー・メッセージが表示されます(この場合、instCに対して表示 される)。このメッセージの表示は、予期されている動作であるため無視できます。スイッ チオーバー操作の後にdiscover topologyコマンドを発行した場合、OracleAS Server
GuardによってOracle Internet Directory情報が読み取られます。この情報は、この新し
いプライマリ・サイト(前のスタンバイ・サイト)上にある、元のプライマリ・サイトの Oracle Internet Directory情報の完全なコピーです。このOracle Internet Directory情報は、
元のプライマリ・サイトのOracle Internet Directory情報と完全に同一であるため、
OracleAS Server Guardがこれらの中間層の各インスタンスのホストまたはホームでそれら
の存在を検証すると、いくつかの中間層が存在しないことが検出され、警告が発行されま す。
6.12.1.2 計画外停止 計画外停止 計画外停止 計画外停止
本番サイトに影響を与える計画外停止は、そのサイトが使用不能になり、本番サイトがリスト アされて妥当な期間内にサービスを提供する可能性がない場合に発生します。これには、火事、
洪水、地震、停電などの本番サイトでのサイトレベルの停止があります。
計画外停止が発生した場合は、本番サイトからスタンバイ・サイトへのフェイルオーバー操作 の実行が保証されます。
サイト・フェイルオーバー操作 サイト・フェイルオーバー操作 サイト・フェイルオーバー操作 サイト・フェイルオーバー操作
サイト・フェイルオーバー操作は、本番サイトの計画外停止の際に実行されます。フェイル オーバー操作では、構成データとInfrastructureデータを、一貫性のあった時点までリストアす る必要があります。OracleAS Guardでは、最後にsync操作を行った時点から、一貫性のある 方法でサイトのサービスが開始されます。フェイルオーバー操作によって、最後の同期化の時 点までリストアされます。