Oracle Application Server 高可用性ガイド 10gリリース3(10.1.3.1.0) B31835-01 |
|
この章では、asgctlコマンドについてのリファレンス情報を記載します。表7-1に、すべてのasgctlコマンドの要約を示します。表7-2には、OracleAS 10gリリース2(10.1.2.0.2)で廃止されたすべてのasgctlコマンドの要約を示します。その後の項では、多くのコマンドで共通なリファレンス情報と各コマンドについてのリファレンス情報を詳細に記載します。
この項では、OracleAS Guard asgctlコマンドに共通な情報について説明します。
すべてのasgctlコマンドでは、システムのホスト名を指定できるパラメータがある場合、システムの物理ホスト名を指定して実行する必要があります。
起動および停止コマンドの例外とともにasgctlコマンドを実行する場合は、OracleAS GuardクライアントがOracleAS Guardサーバーに接続している必要があります。
OracleAS Guardサーバーは、構成している各システムで実行されるすべての操作の調整サーバーとして動作します。デフォルトでは、これがconnect asg
コマンドを実行しているローカル・システムになります。このシステムは、本番サイトのトポロジのメンバーである必要があります。
OracleAS Guardサーバーは、スタンバイ・ホスト・システムで起動する必要があります(<standby_topology_host>
)。OracleAS Guardサーバーは、次のようにopmnctlコマンドライン・ユーティリティを使用して停止および起動できます。
On UNIX systems: <ORACLE_HOME>/opmn/bin/opmnctl startproc ias-component=ASG On Windows systems: <ORACLE_HOME>¥opmn¥bin¥opmnctl stopproc ias-component=ASG
この項では、インスタンス化、同期化、フェイルオーバー、スイッチオーバー、トポロジのダンプ、トポロジの検出、トポロジのクローニング、トポロジの検証、プライマリ・データベースの設定、ASG資格証明の設定などのOracleAS Guard操作の一部に特有の情報を説明します。
本番サイトまたはスタンバイ・サイトに複数のOracleAS Metadata Repositoryインスタンスがインストールされているときに、インスタンス化、同期化、スイッチオーバー、またはフェイルオーバー操作を実行する場合、実行前にset primary database
コマンドを実行して、すべてのOracleAS Metadata Repositoryインスタンスを特定する必要があります。
OracleAS Guard操作を実行する場合は、事前にemagentを停止する必要があります。この操作は、フェイルオーバーやスイッチオーバーなど、OracleASサービスをリサイクルするOracleAS Guardコマンドにおいて必要です。スクリプトでasgctlのrunコマンドを発行して、OracleAS Guardからこの操作を実行できます。この操作を実行しないと、「ORA-01093: ALTER DATABASE CLOSEは接続中のセッションがない場合にのみ実行できます」などのエラー・メッセージが表示される場合があります。emagentの停止については、スイッチオーバー操作に関する記述でのみ説明しています。ただし、前述したように、これはすべてのOracleAS Guard操作に対して適用されます。
インスタンス化、同期化、スイッチオーバー、およびフェイルオーバーなどの重要なOracleAS Guardの操作を実行する前に、接続しているOracleAS Guardサーバーと異なる資格証明を持つトポロジのOracleAS Guardサーバーに対して、OracleAS Guardで資格証明を設定する必要があります。「set asg credentials」に、例を示します。
最初にトポロジXMLファイルを作成するために、最初にOracleAS Disaster Recovery環境を設定するときに、discover topologyコマンドを実行する必要があります。そこで、後ほど本番サイトで別のOracleホームを取得するときや、フェイルオーバーまたはスイッチオーバー操作で本番サイトからスタンバイ・サイトに役割を変更するときに、トポロジの検出操作を実行する必要があります。
OracleAS Guardの管理者は、次にasgctlのsync topology操作、switchover topology操作またはinstantiate topology操作を実行するまで1分程度の時間を置く必要があります。特にincrementalを指定してsync topology操作を実行する場合に重要です。これは、基になる一連のイベントをできるかぎり順番どおりに実行するための既知の制限です。
次の情報とシナリオは、トポロジ・ファイルの利用方法を理解するのに役立ちます。
topology.xml
ファイルが書き込まれます。次に、インスタンスを追加する場合(add instanceコマンド)は、OracleAS 10gリリース3(10.1.3)のホームからこの操作を実行して、既存のトポロジ内の任意のOracleAS 10gリリース2(10.1.2)のシステムに接続し、add instanceコマンドを実行します。
以上の2つのシナリオで強調する必要がある重要な点は、トポロジに追加するインスタンスのOracleASホームにtopology.xml
ファイルが存在しない場合、OracleAS Guardによって新しいtopology.xml
ファイルが作成され、このファイルによって実質的に新しいトポロジが定義されることです。
ポリシー・ファイルを使用する場合、XMLポリシー・ファイルの内容を編集して、asgctlコマンド(clone topology、dump topology、failover、instantiate topology、switchover topology、sync topology、およびverify topology)のいずれかに許可する実行操作のドメインをインスタンスごとに定義します。このXMLポリシー・ファイルのそれぞれのインスタンス・リストのエントリ(clone_policy.xml
、dump_policy.xml
、failover_policy.xml
、instantiate_policy.xml
、switchover_policy.xml
、sync_policy.xml
、およびverify_policy.xml
)では、本番とスタンバイの対応する組合せを、コマンド操作の成功を判断するためのコマンドの成功要件を定義する特定の属性とともに、論理的に結び付けます。XMLポリシー・ファイルの詳細と例は、第6.7項「いくつかのasgctlコマンドでのポリシー・ファイルのダンプとポリシー・ファイルの使用」を参照してください。
プライマリ・トポロジまたはスタンバイ・トポロジ、またはその両方でCFCを使用するOracleAS Disaster Recovery構成では、asgctlのclone、instantiate topology、switchover topology、failoverコマンドを実行する前に次の情報について考慮する必要があります。メタデータ・リポジトリ・データベースのコールド・バックアップまたはリストアの前に、OracleAS Recovery Managerはまずデータベースを停止します。
たとえば、Windows CFC環境では、Oracle Fail Safeがデータベース・ポーリングを実行し、データベースが停止すると再起動します。したがって、管理者は、クローニング、インスタンス化、スイッチオーバー、またはフェイルオーバーの操作を実行する前にOracle Fail Safeのデータベース・ポーリングを無効にする必要があります。そして、バックアップやリストアの操作後(クローニング、インスタンス化、スイッチオーバー、またはフェイルオーバー操作の完了後)に再度有効にします。この一連の操作を実行する手順は、第7.2.1.1項「CFC環境でインスタンス化およびフェイルオーバー操作を実行するときの特別な考慮事項」および第7.2.1.3項「CFC環境でスイッチオーバー操作を実行するときの特別な考慮事項」の「注意」に記載されています。
プライマリ・トポロジまたはスタンバイ・トポロジ、またはその両方でCFCを使用するOracleAS Disaster Recovery構成では、asgctlのclone、instantiate、switchover、またはfailover操作を実行する前に次の情報について考慮する必要があります。
メタデータ・リポジトリ・データベースのコールド・バックアップまたはリストアの前に、OracleAS Recovery Managerはまずデータベースを停止します。
たとえば、Windows CFC環境では、Oracle Fail Safeがデータベース・ポーリングを実行し、データベースが停止すると再起動します。したがって、管理者は、インスタンス化、スイッチオーバー、またはフェイルオーバーの操作を実行する前にOracle Fail Safeのデータベース・ポーリングを無効にする必要があります。そして、バックアップやリストアの操作後(クローニング、インスタンス化、スイッチオーバー、またはフェイルオーバー操作の完了後)に再度有効にします。
この一連の操作を実行する手順は次のとおりです。
インスタンス化操作を実行するとき、OracleAS Guardでは本番サイトとスタンバイ・サイトの両方でtnsnames.ora
ファイルにリモート・データベースのエントリを追加します。このエントリのサービス名は、データベースのサービス名に_REMOTE1を付けた名前になります(たとえば、ORCL_REMOTE1)。エントリには、データベースが実行されているターゲット・ホストのIPアドレスが含まれます。本番サイトのIPはスタンバイ・システムを参照し、スタンバイ・サイトのIPは本番システムを参照します。
CFC環境では、物理IPではなく仮想IPを使用してデータベースにアクセスします。OracleAS Guardでtnsnames.ora
エントリを作成するときに、仮想IPを使用する必要がありますが、実際は物理IPを使用してしまいます。この問題は、OracleAS Guardの今後のリリースで修正する予定です。対処方法として、この環境でインスタンス化操作を実行する際は、インスタンス化操作の後にtnsnames.ora
ファイルを編集して、エントリの物理IPをデータベースのアクセスに使用する仮想IPに置き換えます。
プライマリ・トポロジまたはスタンバイ・トポロジ、またはその両方でCFCを使用するOracleAS Disaster Recovery構成では、asgctlのinstantiate topology、switchover topology、またはfailoverコマンドを実行する前に次の情報について考慮する必要があります。
メタデータ・リポジトリ・データベースのコールド・バックアップまたはリストアの前に、OracleAS Recovery Managerはまずデータベースを停止します。
たとえば、Windows CFC環境では、Oracle Fail Safeがデータベース・ポーリングを実行し、データベースが停止すると再起動します。したがって、管理者は、インスタンス化、スイッチオーバー、またはフェイルオーバーの操作を実行する前にOracle Fail Safeのデータベース・ポーリングを無効にする必要があります。そして、バックアップやリストアの操作後(インスタンス化、スイッチオーバー、またはフェイルオーバー操作の完了後)に再度有効にします。
この一連の操作を実行する手順は次のとおりです。
OracleAS Disaster Recovery環境についての特別な考慮事項の詳細は、第6.18項「いくつかのOracleAS Metadata Repository構成の特別な考慮事項」および第6.19項「OracleAS Disaster Recovery環境の特別な考慮事項」を参照してください。
指定されているインスタンス名と、このインスタンスがインストールされているホスト・システムの名前をローカル・トポロジ・ファイルに追加し、指定に応じて、更新済トポロジ・ファイルをDisaster Recovery本番環境のインスタンスすべてに伝播します。
add instance <instance_name> on <instance_host> [to topology]
トポロジ・ファイルに追加されるインスタンスの名前。
このインスタンスがインストールされているホストの名前。DR環境では、このホストに別名または仮想ホスト名がある場合、トポロジ・ファイルにはこの値が格納されるため、仮想ホスト名を使用する必要があります。
キーワード。コマンドラインにこのキーワードを指定した場合、更新されたトポロジ・ファイルをDisaster Recovery本番環境のインスタンスすべてに伝播するようにOracleAS Guardを指定します。検証、インスタンス化、同期化、およびスイッチオーバーなど、スタンバイ・サイトに影響を与えるOracleAS Guard操作を実行すると、スタンバイ環境全体に本番トポロジ・ファイルが自動的に伝播されます。
このコマンドは、OracleAS Guardクライアントが接続されているOracleAS Guardサーバー上のインスタンスの管理に役立ちます。たとえば、このローカル・ホスト・システム上のインスタンスに問題があるために、remove instanceコマンドを使用して、ローカル・トポロジ・ファイルから、またはトポロジ内部のすべてのトポロジ・ファイルから、そのインスタンスを削除する場合があります。そこで、ローカル・トポロジ・ファイルまたはトポロジ内のトポロジ・ファイルすべてに、適切なインスタンスを追加することにします。この場合、asgctlコマンドを起動してトポロジ全体に対して実行したとき、ポリシー・ファイルではこのインスタンスについて成功要件属性がIgnore
に設定された可能性があるため、そのポリシー・ファイルは不適切なインスタンスの管理に使用するには好ましくないことがあります。
このコマンドは、OIDが利用できないDisaster Recoveryファーム、つまりOracleAS 10gリリース3(10.1.3)のみのトポロジの管理に特に役立ちます。このファーム内の各インスタンスにトポロジ・ファイルを最初に作成するには、discover topology within farmコマンドを使用する必要があります。その後、add instanceおよびremove instanceコマンドを使用して、ローカル・トポロジ・ファイルで個別のインスタンスを追加または削除することで、インスタンスを管理できるようになります。to topology
またはfrom topology
キーワードを指定した場合、更新済のローカル・トポロジ・ファイルの変更がDisaster Recovery環境におけるインスタンスすべてに伝播します。トポロジ・ファイルの詳細は、第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
このコマンドは、OracleAS 10.1.3 J2EEインスタンスをOIDベースの10.1.2.0.2トポロジに追加して、バージョンが混在したDisaster Recovery環境をサポートする場合に役立ちます。たとえば、add instanceコマンドを使用して、OracleAS 10.1.3 J2EEインスタンスをOIDベースの10.1.2.0.2トポロジに追加できます。ユースケースについては、第6.9項「既存のOracle Identity Management 10.1.2.0.2トポロジと統合されている冗長な単一のOracleAS 10.1.3ホームJ2EEトポロジでのOracleAS 10.1.3インスタンスの追加または削除」を参照してください。トポロジ・ファイルの詳細は、第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
またこのコマンドは、リリース9.0.4からリリース10.1.3までの任意のOracleASリリースに対して、バージョンが混在したトポロジをサポートするためにも役立ちます。唯一の要件は、リリース10.1.3のOracleAS Guardスタンドアロン・キットが、リリース9.0.4のDisaster Recovery環境におけるすべてのシステムにインストールされていることです。詳細は、第9章「OracleAS Disaster Recoveryサイトのアップグレード手順」を参照してください。
次の例では、prodinfraというローカル・ホスト・システムにインストールされているoc4j1というインスタンスを、ローカル・トポロジ・ファイルのみに追加します。
ASGCTL> connect asg prodinfra ias_admin/adminpwd Successfully connected to prodinfra:7890 ASGCTL> discover topology within farm ASGCTL> add instance oc4j1 on prodinfra
オペレーティング・システムのコマンドライン・プロンプトからOracleAS Guardクライアントを起動します。スクリプトのパス名が指定された場合はスクリプトを実行します。
asgctl@[filename]
スクリプトとして実行するasgctlコマンドを含んだファイルへのパス。
UNIXシステムでは、asgctl.sh
は<ORACLE_HOME>
/dsa/bin
にあり、Windowsシステムでは、asgctl.bat
は<ORACLE_HOME>
¥dsa¥bin
にあります。
> asgctl.sh Application Server Guard: Release 10.1.3.0.0 (c) Copyright 2004, 2005 Oracle Corporation. All rights reserved ASGCTL>
単一の本番インスタンスをスタンバイ・システムにクローニングします。
clone instance <instance> to <standby_topology_host> [no standby]
インスタンス名。
インスタンスのクローニング先となるスタンバイ・トポロジのホストの名前。
キーワード。コマンドラインにこのキーワードを指定した場合、Disaster Recovery内にインスタンスを設定することなく(Data Guardなし)、インスタンスをクローニングするようにOracleAS Guardを指定します。MRホームでのみ、インスタンス化操作が通常行われますが、この場合は実行されません。
このコマンドは、中間層の本番インスタンスをスタンバイ中間層のホスト・システムにクローニングする際に有用です。インスタンスのクローニング操作により、Oracleインスタンスをスタンバイ中間層システムにインストールしてインスタンス化操作を実行する手間が省けます。
クローニングする本番インスタンスは、スタンバイ・システムに存在してはなりません。
スタンバイ・サイト・システムにインスタンスのクローニング操作を実行するための要件は、次のとおりです。
sc.exe
)がスタンバイ・システムにインストールされている必要があります。
コマンドラインにno standby
キーワードが指定されている場合、エントリ<nodes list = "nodes"/>、<discover list = "nodes"/>、および<gateway list = "nodes"/>を含むトポロジ・エントリ(<topology> </topology>)は、元の構成と競合しないように、opmn.xml
ファイルから削除されます。通常、このトポロジ・エントリはスイッチオーバー操作またはフェイルオーバー操作によってopmn.xml
ファイルにリライトされますが、どちらの操作も発生しないため、スタンバイ・サイトのopmn.xml
ファイルにはこの情報が記述されません。
詳細は、第6.10項「OracleAS Guard操作: スタンバイ・システムへの1つ以上の本番インスタンスのスタンバイ・サイト・クローニング」を参照してください。
クローニングの基本手順は、次のクローニング前(UNIXシステムの場合のみ)およびクローニング中の各手順から構成されています。
本番サイトとスタンバイ・サイトの各インスタンスで、次の手順を実行します。
> <ORACLE HOME>/opmn/bin/opmnctl stopproc ias-component=ASG
<ORACLE_HOME>
/dsa/bin
内のdsaServer.sh
をすべてのユーザーが実行できることを確認します。実行できない場合は、現在の実行権限を書き留めてから、次のコマンドを実行して実行権限を変更します。
chmod +x dsaServer.sh chmod u+x asgexec
> asgctl.sh startup
本番サイトのインスタンスで、次の手順を実行します。
この最後の手順でインスタンスのクローニング操作が完了し、システムがクローニング操作開始前の状態に戻ります。この時点で、asgctlを起動してから本番システムに接続して、トポロジを検出できます。その後、検証操作を実行して、本番トポロジとスタンバイ・トポロジが有効で一致しているかどうかを調べられます。
次の例では、portal_2という名前のインスタンスがasmid2という名前のスタンバイ・トポロジのホスト・システムにクローニングされます。
1. Check the prerequisites as described in the Usage Notes. 2. Perform the Pre-Clone steps as described in the Usage Notes. 3. Perform the Clone steps as described in the Usage Notes. a. Log in as user to any production system. b. CD to any production instance home. c. Invoke asgctl and perform the clone instance command. > asgctl.sh Application Server Guard: Release 10.1.3.0.0 (c) Copyright 2004, 2005 Oracle Corporation. All rights reserved ASGCTL> connect asg prodoc4j oc4jadmin/adminpwd Successfully connected to prodoc4j:7890 ASGCTL> set primary database sys/testpwd@asdb Checking connection to database asdb ASGCTL> clone instance prodoc4j2 to asmid2 Generating default policy for this operation . . . ASGCTL> disconnect ASGCTL> exit > d. Log off the system
複数の本番の中間層インスタンスをスタンバイの中間層システムにクローニングします。
clone topology to <standby_topology_host> [using policy <file>] [no standby]
スタンバイ・トポロジ・ホスト・システムの名前。
XMLポリシー・ファイルのフル・パスとファイル名による指定。
キーワード。コマンドラインにこのキーワードを指定した場合、Disaster Recovery内にインスタンスを設定することなく(Data Guardなし)、インスタンスをクローニングするようにOracleAS Guardを指定します。MRホームでのみ、インスタンス化操作が通常行われますが、この場合は実行されません。
このコマンドは、中間層システムの複数の本番インスタンスをスタンバイ中間層のホスト・システムにクローニングする際に有用です。トポロジのクローニング操作により、Oracleインスタンスをスタンバイ中間層システムにインストールしてインスタンス化操作を実行する手間が省けます。
トポロジのクローニング操作の一部として、インスタンスをクローニングしてOracleAS Metadata Repositoryをインスタンス化しますが、OracleAS Metadata Repository Creation Assistantを使用して作成されたOracleAS Metadata Repository構成では、インスタンス化操作は実行しません。
クローニングする本番インスタンスは、スタンバイ・システムに存在してはなりません。
スタンバイ・サイト・システムにトポロジのクローニング操作を実行するための要件は、次のとおりです。
sc.exe
)が各スタンバイ・システムにインストールされている必要があります。
コマンドラインにno standby
キーワードが指定されている場合、エントリ<nodes list = "nodes"/>、<discover list = "nodes"/>、および<gateway list = "nodes"/>を含むトポロジ・エントリ(<topology> </topology>)は、元の構成と競合しないように、opmn.xml
ファイルから削除されます。通常、このトポロジ・エントリはスイッチオーバー操作またはフェイルオーバー操作によってopmn.xml
ファイルにリライトされますが、どちらの操作も発生しないため、スタンバイ・サイトのopmn.xml
ファイルにはこの情報が記述されません。
詳細は、第6.10項「OracleAS Guard操作: スタンバイ・システムへの1つ以上の本番インスタンスのスタンバイ・サイト・クローニング」を参照してください。
クローニングの基本手順は、次のクローニング前(UNIXシステムの場合のみ)およびクローニング中の各手順から構成されています。
本番サイトとスタンバイ・サイトの各インスタンスで、次の手順を実行します。
> <ORACLE HOME>/opmn/bin/opmnctl stopproc ias-component=ASG
<ORACLE_HOME>
/dsa/bin
のdsaServer.sh
をすべてのユーザーが実行できることを確認します。実行できない場合は、現在の実行権限を書き留めてから、次のコマンドを実行して実行権限を変更します。
chmod +x dsaServer.sh chmod u+x asgexec
> asgctl.sh startup
本番サイトのインスタンスで、次の手順を実行します。
この最後の手順でトポロジのクローニング操作が完了し、システムがクローニング操作開始前の状態に戻ります。この時点で、asgctlを起動してから本番システムに接続して、トポロジを検出できます。その後、検証操作を実行して、本番トポロジとスタンバイ・トポロジが有効で一致しているかどうかを調べられます。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次のコマンドは、OracleAS Guardクライアントでトポロジをスタンバイ・トポロジ・ホスト・システムstandbyinfraにクローニングする例を示しています。
1. Check the prerequisites as described in the Usage Notes. 2. Perform the Pre-Clone steps as described in the Usage Notes. 3. Perform the Clone steps as described in the Usage Notes. a. Log in as user to any production system. b. CD to any production instance Oracle home. c. Invoke asgctl and perform the clone instance command. > asgctl.sh Application Server Guard: Release 10.1.3.0.0 (c) Copyright 2004, 2005 Oracle Corporation. All rights reserved ASGCTL> connect asg prodoc4j oc4jadmin/adminpwd Successfully connected to prodoc4j:7890 ASGCTL> set primary database sys/testpwd@asdb Checking connection to database asdb ASGCTL> clone topology to standbyinfra Generating default policy for this operation . . . # Command to use if you are using a policy file # clone topology to standbyinfra using policy <file> . . . ASGCTL> disconnect ASGCTL> exit > d. Log off the system
Oracle Application Serverサービスが実行されているシステムのOracleAS GuardサーバーにOracleAS Guardクライアントを接続します。
connect asg [<host-name>[:<port>]] <ias_administrative_account>/<password>
OracleAS Guardクライアントを接続するOracleAS Guardサーバーのホスト・システムの名前。このOracleAS Guardサーバーは、構成している各システムで実行されるすべての操作の調整サーバーになります。OracleAS GuardクライアントとOracleAS Guardサーバーが同じノードに存在する場合は、ホスト名の指定は省略可能です。
Oracleホーム内のOracleAS Guardサーバーのポート番号。
OracleAS 10.1.3インストールの場合、ユーザー名はoc4jadmin
を使用し、このoc4jadmin
アカウントのパスワードはOracle Application Serverのインストール時に作成されたものを使用する必要があります。OracleAS 10.1.2.0.2以前のインストールの場合、ユーザー名はias_admin
を使用し、このias_admin
アカウントのパスワードはOracle Application Serverのインストール時に作成されたものを使用する必要があります。
ias_admin
アカウント名には、OracleAS Disaster Recoveryサイトで操作を行うために必要な権利および権限(すべての必要なファイルおよびディレクトリへの読取り/書込みアクセスなど)が構成されている必要があります。
ias_admin
またはoc4jadmin
アカウントのパスワードをconnectコマンドで指定しないと、パスワードを入力するよう求められます。
次のコマンドは、OracleAS Guardクライアントがprodinfraというホストで実行されているOracleAS Guardサーバーに、ユーザー名ias_admin
、パスワードadminpwdを使用して接続する例を示しています。
ASGCTL> connect asg prodinfra ias_admin/adminpwd Successfully connected to prodinfra:7890
スタンバイ・データベースをリモート・ホスト・システムに作成します。
create standby database <database_name> on <remote_host>
リモート・ホスト・システムでのスタンバイ・データベースの作成に使用する、プライマリ・データベースの一意な名前。
スタンバイ・データベースを作成するホスト・システムの名前。
<remote_host>
に指定したノードにインストールする必要があります。
init.ora
パラメータ・ファイルは、非Oracle RAC対応のスタンバイ・データベースを想定して構成されています。スタンバイ・データベースをOracle RAC対応にする場合は、次の初期化パラメータを適切に定義する必要があります。
create standby database
コマンドを発行する前にそれを停止することをお薦めします。停止しないと次のようなエラーが返されます。
ASG_DGA-12500: Standby database instance "<instance_name>" already exists on host "<hostname>"
$ORACLE_HOME¥bin¥oradim -delete -sid <Oracle DB SID>
$DBHOME¥bin¥srvctl disable database -d ORCL $DBHOME¥bin¥srvctl stop database -d ORCL
また、CRS全体のデーモンは停止しないようにしてください。停止するとデータベースが起動せず、次のようなエラーが返されます。
SQL> startup ORA-29702: error occurred in Cluster Group Service operation SQL> exit
---------------------------------------------------------------------------- PING[ARC0]: Heartbeat failed to connect to standby 'orcl2_remote1'. Error is 12154. Mon Aug 28 09:53:43 2006 Error 12154 received logging on to the standby Mon Aug 28 09:53:43 2006 Errors in file c:¥oracle¥product¥10.2.0¥admin¥orcl¥bdump¥orcl1_arc0_2752.trc: ORA-12154: TNS:could not resolve the connect identifier specified ----------------------------------------------------------------------------
このエラーは、asgctlのcreate standby databaseコマンドでホストが構成されなかったことが原因で発生します。この問題に対処するには、適切なリモート・サービス名のエントリをOracle RACの残りのtnsnames.ora
ファイル・インスタンスに追加して、このコマンドで構成されなかった残りのホストを手動で構成する必要があります。次に、例を示します。
ORCL2_REMOTE1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 140.87.23.35)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl2) ) )
init.ora
ファイルのパラメータを次のように変更します。
cluster_database=false
をcluster_database=true
に変更します。
cluster_database_instances=1
を値n
に変更します。n
はクラスタ内のインスタンス数を表します。
remote_listener
パラメータを設定します。
これらの変更は、スクリプトを使用し、asgctlのrunコマンドを呼び出して設定できます。詳細は、「run」を参照してください。
次の例では、プライマリ・データベースにorcl
という一意の名前を使用し、asmid1という名前のリモート・ホスト・システムにスタンバイ・データベースを作成します。
ASGCTL> create standby database orcl on asmid1
OracleAS Guardクライアントを、現在接続しているOracleAS Guardサーバーから切断します。
disconnect
このコマンドを実行する場合は、OracleAS GuardクライアントがOracleAS Guardサーバーに接続されている必要があります。
次のコマンドは、OracleAS Guardクライアントを、現在接続しているOracleAS Guardサーバーから切断する例を示しています。
ASGCTL> disconnect ASGCTL>
asgctlにOracle Internet Directoryを問い合せるように指定し、本番サイトの同じOracle Internet Directoryを共有するトポロジ内のすべてのインスタンスを確認して、トポロジについて記述するトポロジXMLファイルを生成します。
discover topology [oidhost=<host>] [oidsslport=<sslport>] [oiduser=<user>] oidpassword=<pass>
Oracle Internet Directoryがインストールされているホスト・システムの名前。
Oracle Internet DirectoryとSSLがインストールされているホスト・システムのポート番号。
Oracle Internet Directoryユーザー名。
指定したOracle Internet Directoryユーザー名のパスワード。
本番サイトで別のOracleホームを取得するときや、スイッチオーバーやフェイルオーバー操作で本番サイトからスタンバイ・サイトに役割を変更するときに、トポロジの検出操作を実行する必要があります。
トポロジの検出により、OracleAS Guardのすべての操作が実行されるトポロジが作成されます(topology.xml
に保存されます)。このコマンドは、Oracle Internet Directoryの情報を使用して、トポロジに含まれるインスタンスを定義します。さらに、各インスタンスについてのローカルの情報を収集します。そのため、すべての本番サイトのインスタンスでOPMNが実行されている必要があります。DCMファームを使用して管理されてないインスタンスの場合、OracleホームのOracleAS Guardサービスを起動する必要があります。ローカルでサービスが起動されていない場合、警告が発せられ、topology.xml
ファイルには検出されたインスタンスしか含まれなくなります。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次のコマンドは、本番サイトの同じOracle Internet Directoryを共有するトポロジ内のすべてのインスタンスを検出し、トポロジについて記述するトポロジXMLファイルを生成する例を示しています。
ASGCTL> connect asg prodinfra ias_admin/adminpwd Successfully connected to prodinfra:7890 ASGCTL> discover topology oidpassword=oidpwd Discovering topology on host "infra" with IP address "123.1.2.111" prodinfra:7890 Connecting to the OID server on host "infra.us.oracle.com" using SSL port "636" and username "orcladmin" Getting the list of databases from OID Gathering database information for SID "asdb" from host "infra.us.oracle.com" Getting the list of instances from OID Gathering instance information for "asr1012.infra.us.oracle.com" from host "infra.us.oracle.com" Gathering instance information for "asmid1.asmid1.us.oracle.com" from host "asmid1.us.oracle.com" Gathering instance information for "asmid2.asmid2.us.oracle.com" from host "asmid2.us.oracle.com" The topology has been discovered. A topology.xml file has been written to each home in the topology. ASGCTL>
ファームで使用可能なOracle Internet Directoryがないという特殊なケースでは、本番サイトのファーム内でトポロジを検出するようにasgctlに指定します。
注意 サイトのトポロジを検出する場合は、必ずdiscover topologyコマンドを使用する必要があります。このコマンドはOracle Internet Directoryを使用してトポロジのすべてのインスタンスを検出するためです。Oracle Internet Directoryが使用できないような特殊なケースでのみ、discover topology within farmコマンドが有用です。この場合、OracleAS GuardはOPMNを使用して、ファーム内のトポロジを検出します。 |
discover topology within farm
なし。
このコマンドを実行する場合は、OracleAS GuardクライアントがOracleAS Guardサーバーに接続されている必要があります。
トポロジ・ファイルの詳細は、第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次のコマンドは、Oracle Internet Directoryが使用できない特殊なケースで、OPMNを使用してOracleAS Guardクライアントが現在接続しているOracleAS Guardサーバーのファーム内のアプリケーション・サーバーのトポロジを検出する例を示しています。
ASGCTL> connect asg prodinfra ias_admin/adminpwd Successfully connected to prodinfra:7890 ASGCTL> set primary database sys/testpwd@asdb Checking connection to database asdb ASGCTL> discover topology within farm Warning: If OID is part of your environment, you should use it for discovery Discovering topology on host "infra" with IP address "123.1.2.111" prodinfra:7890 Discovering instances within the topology using OPMN Gathering instance information for "asr1012.infra.us.oracle.com" from host "infra.us.oracle.com" The topology has been discovered. A topology.xml file has been written to each home in the topology. ASGCTL>
asgctlの各種コマンドの詳細なデフォルト・ポリシー情報をXML形式出力で一連のポリシー・ファイルに書き込むようにOracleAS Guardサーバーに指定します。ポリシー・ファイルは、UNIXシステムの場合<ORACLE_HOME>
/dsa/conf
ディレクトリ、Windowsシステムの場合<ORACLE_HOME>
¥dsa¥conf
ディレクトリのローカル・ホストにあります。
dump policies
なし。
clone topology、dump topology、failover、instantiate topology、sync topology、switchover topology、およびverify topologyの各asgctlコマンドに対して、XML形式のポリシー・ファイルが書き込まれます。それぞれのコマンドのポリシー・ファイルを編集して、当該のコマンドに対してusing policy <file>
句でこれを指定できます。このパラメータにより、OracleAS Guardの各操作に対してトポロジの障害時リカバリ・ポリシーを定義できます。
ダンプのポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンス(中間層およびOracleAS Metadata Repository)でオプションに設定されています。
フェイルオーバーのポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンス(中間層およびOracleAS Metadata Repository)でオプションに設定され、Oracle Internet Directoryホームでは必須に設定されています。
インスタンス化のポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンスで必須に設定されています。
スイッチオーバー・ポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンス(中間層およびOracleAS Metadata Repository)でオプションに設定され、Oracle Internet Directoryホームでは必須に設定されています。
同期化のポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンスで必須に設定されています。
検証のポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンス(中間層およびOracleAS Metadata Repository)でオプションに設定され、Oracle Internet Directoryホームでは必須に設定されています。
次の例では、asgctlの各種コマンドの詳細なデフォルト・ポリシー情報をXML形式出力でローカル・ホストにある一連の各ポリシー・ファイルに書き込みます。
ASGCTL> dump policies Generating default policy for this operation Creating policy files on local host in directory "/private1/OraHome2/asr1012/dsa/conf/" ASGCTL>
asgctlに、トポロジに関する詳細な情報を、指定したファイルに書き込むように指示します。
dump topology [to <file>] [using policy <file>]
詳細情報の出力の書込み先である、OracleAS Guardクライアント・ノード内のファイルの名前。
XMLポリシー・ファイルのフル・パスとファイル名による指定。
ダンプのポリシー・ファイルでは、デフォルトで成功要件属性はすべてのOracleASホーム(中間層およびOracleAS Metadata Repository)でオプションに設定されています。
次の例では、トポロジに関する詳細情報をローカル・ファイルに書き込んでいます。
ASGCTL> connect asg prodinfra ias_admin/adminpwd Successfully connected to prodinfra:7890 ASGCTL> set primary database sys/testpwd@asdb Checking connection to database asdb ASGCTL> dump topology to c:¥dump_mid_1.txt Contents of file c:¥dump_mid_1.txt are: Generating default policy for this operation Instance: asr1012.infra.us.oracle.com Type: Infrastructure Oracle Home Name: asr1012 Oracle Home Path: /private1/OraHome Version: 10.1.2.0.2 OidHost: infra.us.oracle.com OidPort: 389 VirtualHost: infra.us.oracle.com Host: prodinfra Ip: 123.1.2.111 Operation System Arch: sparc Operation System Version: 5.8 Operation System Name: SunOS Instance: asmid2.asmid2.us.oracle.com Type: Core Oracle Home Name: asmid2 Oracle Home Path: /private1/OraHome2 Version: 10.1.2.0.2 OidHost: infra.us.oracle.com OidPort: 389 VirtualHost: asmid2.us.oracle.com Host: asmid2 Ip: 123.1.2.333 Operation System Arch: sparc Operation System Version: 5.8 Operation System Name: SunOS Instance: asmid1.asmid1.us.oracle.com Type: Core Oracle Home Name: asmid1 Oracle Home Path: /private1/OraHome Version: 10.1.2.0.2 OidHost: infra.us.oracle.com OidPort: 389 VirtualHost: asmid1.us.oracle.com Host: asmid1 Ip: 123.1.2.334 Operation System Arch: sparc Operation System Version: 5.8 Operation System Name: SunOS ASGCTL>
次の例では、トポロジに関する詳細情報をローカル・ファイルに書き込んでいます。出力する必要のないインスタンスはポリシー・ファイルで指定できます。
# Command to use if you are using a policy file ASGCTL> dump topology to c:¥dump_mid_1.txt using policy <file>
OracleAS Guardサーバーとの既存の接続を切断し、OracleAS Guardクライアントを終了します。
exit
なし。
なし。
ASGCTL> exit >
本番サイトの計画外停止の間に、スタンバイ・サイトでフェイルオーバー操作を実行してこれを本番サイトにします。
failover [using policy <file>]
XMLポリシー・ファイルのフル・パスとファイル名による指定。
フェイルオーバー操作を実行する前に、OracleAS Infrastructureデータベースがスタンバイ・トポロジで実行されていることを確認する必要があります。また、asgctlのset new primary databaseコマンドによって、OracleAS Infrastructureデータベースの情報が設定されている必要があります。
グローバルDNS名を使用してフェイルオーバーを実行することもできます。この場合、OracleAS Disaster Recovery環境で利用されている高可用性のネーミングと異なることになります。検出メカニズムが、ローカルの名前解決に従って自動的にトポロジを対応するピアにマップします。
フェイルオーバーのポリシー・ファイルでは、デフォルトで成功要件属性はすべてのOracleASホーム(中間層およびOracleAS Metadata Repository)でオプションに設定され、Oracle Internet Directoryホームでは必須に設定されています。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次の例では、スタンバイ・サイトにフェイルオーバー操作を実行しています。
ASGCTL> connect asg standbyinfra ias_admin/adminpwd Successfully connected to standbyinfra:7890 ASGCTL> set new primary database sys/testpwd@asdb ASGCTL> failover Generating default policy for this operation standbyinfra:7890 Failover each instance in the topology from standby to primary topology standbyinfra:7890 (home /private1/OraHome2/asr1012) Shutting down each instance in the topology . . . Executing opmnctl startall command standbyinfra:7890 HA directory exists for instance asr1012.infra.us.oracle.com asmid2:7890 HA directory exists for instance asmid2.asmid2.us.oracle.com asmid1:7890 HA directory exists for instance asmid1.asmid1.us.oracle.com ASGCTL> # Command to use if you are using a policy file # failover using policy <file>
ヘルプ情報を表示します。
help [<command>]
ヘルプ情報を表示するコマンドの名前。
なし。
次の例では、すべてのコマンドに関するヘルプ情報を表示しています。
ASGCTL> help
connect asg [<host>] [<ias_administrator_account>/<password>]
disconnect
exit
quit
add instance <instance_name> on <instance_host> [to topology]
clone topology to <standby_topology_host> [using policy <file>] [no standby]
clone instance <instance> to <standby_topology_host> [no standby]
discover topology [oidhost=<host>] [oidsslport=<sslport>] [oiduser=<user>] oidpassword=<pass>
discover topology within farm
dump farm [to <file>] (Deprecated)
dump topology [to <file>] [using policy <file>]
dump policies
failover [using policy <file>]
help [<command>]
instantiate farm to <standby_farm_host> (Deprecated)
instantiate topology to <standby_topology_host> [using policy <file>]
remove instance <instance_name> [from topology]
set asg credentials <host> <ias_administrator_account>/<password> [for topology]
set asg credentials <host> ias_admin/<password> [for farm] (Deprecated)
set primary database <username>/<password>@<servicename> [pfile <filename> | spfile <filename>]
set new primary database <username>/<password>@<servicename> [pfile <filename> | spfile <filename>]
set noprompt
set trace on|off <traceflags>
sync farm to <standby_farm_host> [full | incr[emental]] (Deprecated)
sync topology to <standby_topology_host> [full | incr[emental]] [using policy <file>]
startup [asg]
startup farm (Deprecated)
startup topology
shutdown [local]
shutdown farm (Deprecated)
shutdown topology
show op[eration] [full] [[his]tory]
show env
stop op[eration] <op#>
switchover farm to <standby_farm_host> (Deprecated)
switchover topology to <standby_topology_host> [using policy <file>]
verify farm [with <host>](Deprecated)
verify topology [with <host>] [using policy <file>]
ASGCTL>
スタンバイ・インスタンスと本番インスタンス間の関係を確立し、構成をミラー化して、スタンバイInfrastructureを作成した後、スタンバイ・サイトをプライマリ・サイトに同期化して、トポロジをスタンバイ・サイトにインスタンス化します。
instantiate topology to <standby_topology_host>[:<port>] [with cloning] [using policy <file>]
スタンバイ・ホスト・システムの名前。このパラメータは、OracleAS Guard調整サーバー・インスタンスを指定して、スタンバイ・サイトを構成するインスタンスを検出するために必要です。ホスト・システムは、スタンバイ・トポロジのメンバーである必要があります。
Oracleホーム内のOracleAS Guardサーバーのポート番号。
クローニングを使用してインスタンス化操作を実行するためのディレクティブ。
XMLポリシー・ファイルのフル・パスとファイル名による指定。
トポロジのインスタンス化操作を実行する前に、OracleAS Infrastructureデータベースがプライマリ・トポロジで実行されていることを確認する必要があります。また、asgctlのset primary databaseコマンドによって、OracleAS Infrastructureデータベースの情報が設定されている必要があります。
グローバルDNS名を使用してインスタンス化を実行することもできます。この場合、OracleAS Disaster Recovery環境で利用されている高可用性のネーミングと異なることになります。検出メカニズムが、ローカルの名前解決に従って自動的にトポロジを対応するピアにマップします。
インスタンス化操作により、暗黙の検証操作が実行されます。
インスタンス化のポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンスで必須に設定されています。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次の例では、スタンバイ・トポロジをインスタンス化しています。具体的には、OracleAS Guard調整サーバーへの接続、本番サイトとスタンバイ・サイトのトポロジの検出、およびサイトの検証を行い、DNS名がstandbyinfraのスタンバイ・トポロジ・ホストを含むトポロジにOracleAS Disaster Recovery環境を確立しています。操作の途中で、データベースを停止するかどうかについて質問されます。返答として、y
または yes
を入力します。
ASGCTL> connect asg prodinfra ias_admin/adminpwd
Successfully connected to prodinfra:7890
ASGCTL> set primary database sys/testpwd@asdb
Checking connection to database asdb
ASGCTL> instantiate topology to standbyinfra
Generating default policy for this operation
prodinfra:7890
Instantiating each instance in the topology to standby topology
HA directory exists for instance asr1012.infra.us.oracle.com
asmid2:7890
HA directory exists for instance asmid2.asmid2.us.oracle.com
asmid1:7890
HA directory exists for instance asmid1.asmid1.us.oracle.com
standbyinfra:7890
HA directory exists for instance asr1012.infra.us.oracle.com
asmid2:7890
HA directory exists for instance asmid2.asmid2.us.oracle.com
asmid1:7890
HA directory exists for instance asmid1.asmid1.us.oracle.com
asmid2:7890
Verifying that the topology is symmetrical in both primary and standby configuration
.
.
.
This operation requires the database to be shutdown. Do you want to continue? Yes or No
y
.
.
.
asmid2:7890 (home /private1/oracle/asr1012)
Starting backup/synchronization of database "orcl.us.oracle.com"
Starting restore/synchronization of database "orcl.us.oracle.com"
Synchronizing topology completed successfully
asmid2:7890
Synchronizing topology completed successfully
ASGCTL>
# Command to use if you are using a policy file
# instantiate topology to standbyinfra using policy <file>
OracleAS Guardクライアントに、既存の接続を切断し、asgctlを終了することを指示します。
quit
なし。
なし。
次の例では、asgctlを終了しています。
ASGCTL> quit >
指定されたインスタンス名をローカル・トポロジ・ファイルから削除し、指定に応じて、この更新されたトポロジ・ファイルをDisaster Recovery本番環境のインスタンスすべてに伝播します。
remove instance <instance_name> [from topology]
トポロジ・ファイルから削除されるインスタンスの名前。
キーワード。コマンドラインにこのキーワードを指定した場合、更新されたトポロジ・ファイルをDisaster Recovery本番環境のインスタンスすべてに伝播するようにOracleAS Guardを指定します。検証、インスタンス化、同期化、およびスイッチオーバーなど、スタンバイ・サイトに影響を与えるOracleAS Guard操作を実行すると、スタンバイ環境全体に本番トポロジ・ファイルが自動的に伝播されます。
このコマンドは、OracleAS Guardクライアントが接続されているOracleAS Guardサーバー上のインスタンスの管理に役立ちます。たとえば、このローカル・ホスト・システム上のインスタンスに問題があるために、remove instanceコマンドを使用して、ローカル・トポロジ・ファイルから、またはトポロジ内部のすべてのトポロジ・ファイルから、そのインスタンスを削除する場合があります。そこで、ローカル・トポロジ・ファイルまたはトポロジ内のトポロジ・ファイルすべてに、適切なインスタンスを追加することにします。この場合、asgctlコマンドを起動してトポロジ全体に対して実行したとき、ポリシー・ファイルではこのインスタンスについて成功要件属性がIgnore
に設定された可能性があるため、そのポリシー・ファイルは不適切なインスタンスの管理に使用するには好ましくないことがあります。
このコマンドは、OIDが利用できないDisaster Recoveryファーム、つまりOracleAS 10gリリース3(10.1.3)のみのトポロジの管理に特に役立ちます。このファーム内の各インスタンスにトポロジ・ファイルを最初に作成するには、discover topology within farmコマンドを使用する必要があります。その後、add instanceおよびremove instanceコマンドを使用して、ローカル・トポロジ・ファイルで個別のインスタンスを追加または削除することで、インスタンスを管理できるようになります。to topology
またはfrom topology
キーワードを指定した場合、更新済のローカル・トポロジ・ファイルの変更がDisaster Recovery環境におけるインスタンスすべてに伝播します。トポロジ・ファイルの詳細は、第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
このコマンドは、OracleAS 10.1.3 J2EEインスタンスをOIDベースの10.1.2.0.2トポロジに追加して、バージョンが混在したDisaster Recovery環境をサポートする場合に役立ちます。たとえば、add instanceコマンドを使用して、OracleAS 10.1.3 J2EEインスタンスをOIDベースの10.1.2.0.2トポロジに追加できます。ユースケースについては、第6.9項「既存のOracle Identity Management 10.1.2.0.2トポロジと統合されている冗長な単一のOracleAS 10.1.3ホームJ2EEトポロジでのOracleAS 10.1.3インスタンスの追加または削除」を参照してください。トポロジ・ファイルの詳細は、第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
またこのコマンドは、リリース9.0.4からリリース10.1.3までの任意のOracleASリリースに対して、バージョンが混在したトポロジをサポートするためにも役立ちます。唯一の要件は、リリース10.1.3のOracleAS Guardスタンドアロン・キットが、リリース9.0.4のDisaster Recovery環境におけるすべてのシステムにインストールされていることです。詳細は、第9章「OracleAS Disaster Recoveryサイトのアップグレード手順」を参照してください。
次の例では、ローカル・トポロジ・ファイルからoc4j1というインスタンスを削除します。
ASGCTL> remove instance oc4j1
OracleAS Guardがインストールされている任意のホームにあるスクリプトまたはプログラムをリモートで実行します。runコマンドは、トポロジ内または指定したインスタンスで実行できます。
run [at topology [using policy <file>]] <command>
run [at instance <instance_name>] <command>
キーワード。コマンドラインにこのキーワードを指定すると、run操作がトポロジ全体で実行されます。
XMLポリシー・ファイルのフル・パスとファイル名による指定。
実行するスクリプトまたはバイナリ・プログラムのコマンド文字列としての名前。
キーワード。コマンドラインにこのキーワードを指定すると、run操作が指定したインスタンスで実行されます。
runコマンドを実行するインスタンスの名前。
このコマンドは、OracleAS Guardがインストールされている任意のOracleホームにあるスクリプトまたはプログラムをリモートで実行する場合に役立ちます。このスクリプトおよびプログラムは、トポロジ内、または指定した実行場所であるインスタンスの各Oracleホームに物理的に存在している必要があります。asgctlユーザーは、asgctlのrunコマンドを呼び出す前に、まずOracleAS Guardサーバーに接続してApplication ServerのJAZN資格証明(ias_adminまたはoc4jadmin)を指定する必要があります。ユーザーがJAZN資格証明を知っている場合、そのユーザーはホームでスクリプトまたはプログラムを実行できると判断されます。runコマンドの呼び出しを受信すると、OracleAS Guardでは、スクリプトまたはプログラムを実行する前に、OracleAS Guardサーバーが稼働するOracleホームにコマンド文字列で指定したファイルが存在するかどうか確認されます。スクリプトの出力はasgctlコンソールにエコーされます。
Oracle RACの障害時リカバリの配置では、スイッチオーバー操作を実行する前にすべてのインスタンスを停止します。これを行うには、スクリプトを作成し、runコマンドを使用してそのスクリプトを実行します。詳細は、第6.12.1.1項「スケジューリングした停止」の手順5を参照してください。次のコマンドの例は、asdbというインスタンス用にスクリプトshutdown_asdb_instance.sh
を記述し、それをリモートで実行することを想定しています。このスクリプトでは、分散されたASGのスクリプティング機能を利用しています。これにより、システム管理者はasgctlユーティリティからスイッチオーバー操作を実行できます。
ASGCTL> run at instance asdb shutdown_asdb_instance.sh
OracleAS GuardサーバーへのOracleAS Guardの接続を認証する資格証明を設定します。
set asg credentials <host>[:<port>] <ias_administrative_account>/<password> [for farm] [for topology]
資格証明を適用するホスト・システムの名前。OracleAS Guardがこのホストに接続する場合に、資格証明が使用されます。
Oracleホーム内のOracleAS Guardサーバーのポート番号。
OracleAS 10.1.3インストールの場合、ユーザー名はoc4jadmin
を使用し、このoc4jadmin
アカウントのパスワードはOracle Application Server 10.1.3のインストール時に作成されたものを使用する必要があります。OracleAS 10.1.2.0.2以前のインストールの場合、ユーザー名はias_admin
を使用し、このias_admin
アカウントのパスワードはOracle Application Serverのインストール時に作成されたものを使用する必要があります。このアカウント名は、Oracle Application Serverホームの最低1つに属するアカウント名と同じにする必要があります。
キーワード。コマンドラインにこのキーワードを指定した場合、ローカル・ホスト・システムと同じファームに属するすべてのホスト・システムに資格証明が設定されます。
キーワード。コマンドラインにこのキーワードを指定した場合、ローカル・ホスト・システムと同じトポロジに属するすべてのホスト・システムに資格証明が設定されます。
デフォルトでは、asgctl connectコマンドで使用した資格証明は、OracleAS Guardサーバーが他のOracleAS Guardサーバーに接続する際に必ず使用されます。しかし、特定のサーバーに異なる資格証明を使用することが必要な場合もあります。このコマンドを使用すると、トポロジ内のすべてのノードに同じ資格証明を使用できます。たとえば、プライマリ・トポロジで使用されている資格証明とは異なる、資格証明のセットをスタンバイ・トポロジで共有することができます。
あるトポロジに資格証明を設定した場合、その資格証明はトポロジ全体に継承されます。トポロジ上の個別のホストに資格証明を設定した場合、(そのホストの)資格証明が、トポロジに設定されたデフォルトの資格証明よりも優先されます。
Oracle Internet DirectoryとOracleAS Metadata Repositoryが同じ場所にあって、PortalのOracleAS Metadata Repositoryが別の場所にあるような、複数のInfrastructureが存在するトポロジでは、OracleAS Guardでインスタンス化、同期化、スイッチオーバー、フェイルオーバーなどの重要な操作を実行する前に、Infrastructureが存在する各システムに対してOracleAS Guardで資格証明を設定する必要があります。これは実際は2段階のプロセスで、最初に各Infrastructureにset primary databaseコマンドを使用してトポロジのすべてのOracleAS Infrastructureデータベースを特定し、次にそのInfrastructureが存在するOracleAS GuardサーバーにOracleAS Guardを接続するときの認証に使用する資格証明を設定する必要があります。次の例は、この概要を示します。本番トポロジとスタンバイ・トポロジは、Infrastructureと中間層ソフトウェア・アプリケーションがインストールされている次のようなシステムで構成されているものとします。
本番トポロジ:
host01(Identity Management+OracleAS Metadata Repository)、host04(OracleAS Metadata Repositoryのみ)、host06(J2EE)、host06(Portal & Wireless)
スタンバイ・トポロジ:
host02(Identity Management+OracleAS Metadata Repository)、host05(OracleAS Metadata Repositoryのみ)、host07(J2EE)、host07(Portal & Wireless)
次のOracleAS Guardのset primary databaseとset asg credentialsコマンドは、インスタンス化、同期化、スイッチオーバー、フェイルオーバー操作を実行する前に、Infrastructureを正しく特定し、OracleAS GuardのOracleAS Guardサーバーへの接続を認証する必要があります。Oracle Identity Management+OracleAS Metadata Repository Infrastructureがorcl
というサービス名を持ち、Portal OracleAS Metadata Repositoryがasdb
というサービス名を持つものとします。
ASGCTL> set primary database sys/<password>@orcl.us.oracle.com ASGCTL> set primary database sys/<password>@asdb.us.oracle.com ASGCTL> set asg credentials host01.us.oracle.com ias_admin/<password> ASGCTL> set asg credentials host04.us.oracle.com ias_admin/<password>
フェイルオーバー操作の場合、これらの手順はスタンバイ・トポロジで実行し、ホスト・システム名は次のように変更します。
ASGCTL> set primary database sys/<password>@orcl.us.oracle.com ASGCTL> set primary database sys/<password>@asdb.us.oracle.com ASGCTL> set asg credentials host02.us.oracle.com ias_admin/<password> ASGCTL> set asg credentials host05.us.oracle.com ias_admin/<password>
このコマンドを使用する前に、OracleAS GuardクライアントがOracleAS Guardサーバーに接続されている必要があります。
ホスト名には、IPアドレスを使用することができます。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次の例では、ホスト・システムstandbyinfraにOracleAS Guardの資格証明を設定し、それを同じトポロジ内のすべてのホスト・システムに適用しています。
ASGCTL> set asg credentials standbyinfra ias_admin/<password> for topology
asgctlスクリプトのコマンドエコーのオンおよびオフを設定します。
set echo on | off
onを指定すると、asgctlスクリプトのコマンドエコーが有効になります。offを指定すると、asgctlスクリプトのコマンドエコーが無効になります。
このコマンドは、大きなasgctlスクリプトを実行する場合に役立ちます。たとえば、asgctlスクリプトにエラー・テスト・ケースがあり、各テスト・ケースの前または各asgctlコマンドの前にコメントを入力した場合には、エコーをonに設定しておくと、各テスト・ケースまたは各asgctlコマンドが実行される前にコメントが表示され、そのテスト・ケースの目的やasgctlコマンドを実行した場合の影響などを確認できます。
このコマンドはネストされたスクリプトにも使用できます。
次の例は、コマンドエコーの有効化、テスト・ケースの実行、OracleAS Guardサーバーへの接続、トポロジに関する詳細情報の表示、エコーの無効化、OracleAS Guardサーバーの切断、およびOracleAS Guardクライアントの終了を行うasgctlスクリプトを示しています。
> ASGCTL @myasgctltestscript.txt # myasgctltestscript.txt # turn on echo set echo on # make sure you are not connected disconnect # not connected, should get an error message dump topology # connect to an ASG server connect asg prodinfra ias_admin/adminpwd #display detailed info about the topology dump topology #disconnect disconnect # turn off echo echo off exit
フェイルオーバー操作の前に、スタンバイ・トポロジのOracleAS Infrastructureデータベースを新しいプライマリ・データベースとして指定します。このコマンドは、フェイルオーバー操作の際にのみ使用します。
set new primary database <username>/<password>@<servicename> [pfile <filename> | spfile <filename>]
sysdbaの権限を持つデータベース・アカウントのユーザー名とパスワード。
OracleAS InfrastructureデータベースのTNSサービス名。TNSサービス名はOracleAS Infrastructureホスト・システムで定義されている必要がありますが、OracleAS Guardクライアント・ホスト・システムで定義されている必要はありません。
プライマリ(OracleAS Infrastructure)データベースの初期化ファイルのファイル名。プライマリ・データベースが起動されるときに使用されます。
サーバー(OracleAS Infrastructure)の初期化ファイルのファイル名。データベースが起動されるときに使用されます。
フェイルオーバー操作を実行する前に、スタンバイ・トポロジのInfrastructureノードに接続し、新しいプライマリ・データベースを定義する必要があります。スタンバイ・サイトのOracle Infrastructureデータベースを新しいプライマリ・データベースとして指定したら、フェイルオーバー操作を開始できます。
次の例では、フェイルオーバー操作の前に、スタンバイ・トポロジのOracleAS Infrastructureデータベースの情報を新しいプライマリ/本番トポロジとして設定しています。
ASGCTL> connect asg standbyinfra ias_admin/adminpwd Successfully connected to standbyinfra:7890 ASGCTL> set new primary database sys/testpwd@asdb ASGCTL> failover . . . ASGCTL>
asgctlスクリプトでコマンドを実行するときのユーザーとの対話をプロンプトのない状態に設定します。
set noprompt
なし。
設定されると、すべての対話プロンプトにデフォルト値が適用されます。ユーザー名とパスワードのプロンプトは、プロンプトなしの状態ではエラー・メッセージが返されます。
次の例は、asgctlのset nopromptコマンドを含むasgctlスクリプトです。このコマンド以降のすべての対話プロンプトは無視されてスクリプトが実行されます。
> ASGCTL @myasgctltestscript.txt # myasgctltestscript.txt # connect to an ASG server connect asg prodinfra ias_admin/adminpwd # set the primary database set primary database sys/testpwd@asdb # discover the production topology discover topology oidpassword=oidpwd # set the noprompt state set noprompt #display detailed info about the topology dump topology #disconnect disconnect exit
プライマリ・トポロジのOracleAS Infrastructureデータベースを指定します。
set primary database <username>/<password>@<servicename> [pfile <filename> | spfile <filename>]
sysdbaの権限を持つデータベース・アカウントのユーザー名とパスワード。
OracleAS InfrastructureデータベースのTNSサービス名。TNSサービス名はOracleAS Infrastructureホスト・システムで定義されている必要がありますが、OracleAS Guardクライアント・ホスト・システムで定義されている必要はありません。
プライマリ(OracleAS Infrastructure)データベースの初期化ファイルのファイル名。プライマリ・データベースが起動されるときに使用されます。
サーバー(OracleAS Infrastructure)の初期化ファイルのファイル名。データベースが起動されるときに使用されます。
プライマリ・データベースは、インスタンス化、同期化またはスイッチオーバー操作を実行する前に指定する必要があります。
プライマリ・データベースを設定すると、OracleAS Guardサーバーはそのデータベースにログインして接続を検証します。
本番サイトまたはスタンバイ・サイトに複数のOracleAS Metadata Repositoryのインスタンスがインストールされているときに、インスタンス化、同期化、スイッチオーバー、またはフェイルオーバー操作を実行する場合、実行前にset primary databaseコマンドを実行して、すべてのOracleAS Metadata Repositoryインスタンスを特定する必要があります。また、Oracle Internet DirectoryとOracleAS Metadata Repositoryが同じ場所にあって、PortalのOracleAS Metadata Repositoryが別の場所にあるような、複数のInfrastructureが存在するトポロジでは、OracleAS Guardでインスタンス化、同期化、スイッチオーバー、フェイルオーバーなどの重要な操作を実行する前に、Infrastructureが存在する各システムに対してOracleAS Guardで資格証明を設定する必要があります。「set asg credentials」に、例を示します。
OracleAS Guardは、データベースにパスワード・ファイル認証がある必要があります。データベースにパスワード・ファイルがない場合、orapwd
ユーティリティを使用してパスワード・ファイルを作成する必要があります。また、REMOTE_LOGIN_PASSWORDFILE
初期化パラメータをEXCLUSIVE
に設定します。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次の例では、OracleAS Infrastructureデータベースの情報をプライマリ/本番トポロジに設定しています。
ASGCTL> connect asg prodinfra ias_admin/adminpwd Successfully connected to prodinfra:7890 ASGCTL> set primary database sys/testpwd@asdb Checking connection to database asdb ASGCTL>
次の例では、スイッチオーバー操作の前にプライマリ/本番トポロジにインストールする各OracleAS Metadata RepositoryのOracleAS Infrastructureデータベースの情報を設定しています。
ASGCTL> connect asg prodinfra ias_admin/adminpwd Successfully connected to prodinfra:7890 ASGCTL> set primary database sys/testpwd@portal_1 Checking connection to database portal_1 ASGCTL> set primary database sys/testpwd@portal_2 Checking connection to database portal_2 ASGCTL> set primary database sys/testpwd@asdb Checking connection to database asdb ASGCTL> discover topology oidpassword=oidpwd ASGCTL> switchover topology to standbyinfra . . .
トレース出力をOracleAS Guardログ・ファイルに記録するための、トレース・フラグのオンまたはオフを設定します。
set trace on | off <traceflags>
onを指定するとトレースが有効になります。offを指定するとトレースが無効になります。
有効にするトレースフラグ。2つ以上のトレースフラグを指定する場合は、カンマ(,)で区切ります。トレースフラグには次のものがあります。
このコマンドは、接続中にasgctlコマンドにかかわったすべてのホストに適用されます。
このコマンドを使用する前に、OracleAS GuardクライアントがOracleAS Guardサーバーに接続されている必要があります。
次の例では、データベース操作のトレースを有効にしています。
ASGCTL> set trace on db
OracleAS Guardクライアントが接続しているOracleAS Guardサーバーの現在の環境を示します。
show env
なし。
なし。
次の例は、OracleAS Guardクライアントが接続しているOracleAS Guardサーバーの環境を示します。最初の例ではプライマリ・データベースと新しいプライマリ・データベースがホストprodinfraに設定されておらず、2番目の例ではプライマリ・データベースがホストstandbyinfraに設定されています。
例1
ASGCTL> show env ASG Server Connection: Host: prodinfra Port: 7890 Primary database: <not set> New primary database: <not set>
例2
ASGCTL> ASGCTL> show env ASG Server Connection: Host: standbyinfra Port: 7890 Gathering information from the database orcl Primary database: : User: sys Service: orcl Role: The database role is PHYSICAL STANDBY New primary database: <not set>
現在のセッションでOracleAS Guardクライアントが接続されたトポロジ内の全ノードのすべての操作を表示します。
show op[eration] [full] [[his]tory]
すべての操作に対して、操作番号、ジョブ名、ジョブ所有者のユーザー名、ジョブID、操作の開始時刻、操作の終了時刻、操作の経過時間およびジョブに含まれるすべてのタスクが表示されます。
現在実行されていない操作のみに対する、操作番号とジョブ名が表示されます。
なし。
次の例では、現在の操作の状態を表示しています。
ASGCTL> show operation ************************************* OPERATION: 19 Status: running Elapsed Time: 0 days, 0 hours, 0 minutes, 28 secs TASK: syncFarm TASK: backupFarm TASK: fileCopyRemote TASK: fileCopyRemote TASK: restoreFarm TASK: fileCopyLocal
次の例では、すべての操作の履歴を表示しています。
ASGCTL> show op his ************************************* OPERATION: 7 Status: success Elapsed Time: 0 days, 0 hours, 0 minutes, 0 secs TASK: getTopology TASK: getInstance ************************************* OPERATION: 16 Status: success Elapsed Time: 0 days, 0 hours, 0 minutes, 0 secs TASK: getTopology TASK: getInstance ************************************* OPERATION: 19 Status: success Elapsed Time: 0 days, 0 hours, 1 minutes, 55 secs TASK: syncFarm TASK: backupFarm TASK: fileCopyRemote TASK: fileCopyRemote TASK: restoreFarm TASK: fileCopyLocall
OracleAS Guardクライアントが接続している稼動中のOracleAS Guardサーバーを停止します。このコマンドは、OPMNが実行されていないホスト・システムで、インスタンスまたはトポロジのクローニング手順を実行する場合にのみ使用します。
shutdown [local]
これを指定すると、asgctlのローカルOracleホームのOracleAS Guardサーバーを停止します。
OracleAS Guardサーバーは、OPMN opmnctlコマンドのstartprocではなく、asgctlのstartupコマンドを使用して起動する必要があります。
次の例では、OPMNが実行されていないホスト・システムで、OracleAS Guardサーバーを停止しています。
> asgctl.sh shutdown
トポロジ全体のOracleASコンポーネント・サービスを停止します。OracleAS GuardサーバーとOPMNは稼動し続けます。
shutdown topology
なし。
これは、トポロジ全体を停止するときに便利なコマンドです。トポロジを再起動する場合は、startup topologyコマンドを使用します。
このコマンドで、OID、OC4J、WebCacheなどのOracleASサービスを停止します。
次の例では、prodinfra本番トポロジを停止しています。
ASGCTL> shutdown topology Generating default policy for this operation prodinfra:7890 Shutting down each instance in the topology asmid2:7890 (home /private1/OraHome2/asmid2) Shutting down component HTTP_Server Shutting down component OC4J Shutting down component dcm-daemon Shutting down component LogLoader asmid1:7890 (home /private1/OraHome/asmid1) Shutting down component HTTP_Server Shutting down component OC4J Shutting down component dcm-daemon Shutting down component LogLoader prodinfra:7890 (home /private1/OraHome2/asr1012) Shutting down component OID Shutting down component HTTP_Server Shutting down component OC4J Shutting down component dcm-daemon Shutting down component LogLoader ASGCTL>
asgctlプロンプトでOracleAS Guardサーバーを起動します。このコマンドは、OPMNが実行されていないホスト・システムで、インスタンスまたはトポロジのクローニング手順を実行する場合にのみ使用します。
startup [asg]
オプションのキーワードで、application server guardの頭文字。このパラメータには、connect asgやset asg credentialsコマンドと類似の形式を示す以外に意味はありません。
なし。
次の例では、OPMNが実行されていないホスト・システムで、OracleAS Guardサーバーを停止しています。
> asgctl.sh startup
トポロジ全体のOracleASコンポーネント・サービスを起動して、停止したトポロジを起動します。
startup topology
なし。
これは、shutdown topologyコマンドを使用して停止した後にトポロジ全体を起動するときに便利なコマンドです。
このコマンドで、OID、OC4J、WebCacheなどのOracleASサービスを起動します。startup topologyコマンドの実行は、トポロジの各インスタンスすべてにopmnctl startupコマンドを実行することと同じことです。
次の例では、本番トポロジを起動しています。
ASGCTL> startup topology Generating default policy for this operation profinfra:7890 Starting each instance in the topology prodinfra:7890 (home /private1/OraHome2/asr1012) Executing opmnctl startall command asmid1:7890 (home /private1/OraHome/asmid1) Executing opmnctl startall command asmid2:7890 (home /private1/OraHome2/asmid2) Executing opmnctl startall command ASGCTL>
サーバーで実行中の特定の操作を停止します。
stop op[eration] <op #>
操作の番号。
サーバーで実行中の操作の番号は、show operationコマンドで確認できます。
次の例では、サーバーで実行中の操作(15)を最初に表示し、stop operationコマンドでその操作を停止しています。
ASGCTL> show operation ************************************* OPERATION: 15 Status: running Elapsed Time: 0 days, 0 hours, 1 minutes, 35 secs TASK: instantiateFarm TASK: verifyFarm ASGCTL> stop operation 15
本番サイトのスケジューリングした停止の間に、本番サイトからスタンバイ・サイトへのスイッチオーバー操作を実行します。
switchover topology to <standby_topology_host>[:<port>] [using policy <file>]
スタンバイ・ホスト・システムの名前。このパラメータは、OracleAS Guard調整サーバー・インスタンスを指定して、スタンバイ・サイトを構成するインスタンスを検出するために必要です。ホスト・システムは、スタンバイ・トポロジのメンバーである必要があります。
Oracleホーム内にあるOracleAS Guardサーバーのスタンバイ・ホスト・システムのポート番号。
XMLポリシー・ファイルのフル・パスとファイル名による指定。
プライマリ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システムの場合、emagentプロセスを停止するために、Application Server Controlを停止します。このコンポーネントは次のようにiasconsoleでコールします。
> <ORACLE_HOME>/bin/emctl stop iasconsole
UNIXシステムの場合、emagentプロセスが実行されていないかをチェックするために、次の操作を実行します。
> ps -ef | grep emagent
UNIXシステムの場合、stop iasconsoleの操作の後でemagentプロセスが依然として動作しているときに、次のコマンドで前のpsコマンドで決定されたプロセスID(PID)を取得し、停止します。
> kill -9 <emagent-pid>
Windowsシステムの場合、「サービス」コントロール パネルを開きます。OracleAS10gASControlサービスを見つけて、このサービスを停止します。
スイッチオーバー操作を実行する前に、OracleAS Infrastructureデータベースがプライマリ・トポロジで実行されていることを確認する必要があります。また、asgctlのset primary databaseコマンドによって、OracleAS Infrastructureデータベースの情報が設定されている必要があります。
グローバルDNS名を使用してスイッチオーバーを実行することもできます。この場合、OracleAS Disaster Recovery環境で利用されている高可用性のネーミングと異なることになります。検出メカニズムが、ローカルの名前解決に従って自動的にトポロジを対応するピアにマップします。
OracleAS Guardのスイッチオーバー操作の際に、implicit sync topology操作が実行され、2つのトポロジが同一であるか確認されます。また、OPMNが新しいスタンバイInfrastructureノードでOracleAS Guardサーバーを起動し、このサーバーが永続的に実行されます。次に、このサーバーが新しいスタンバイ・トポロジ内の他のノードのOracleAS Guardサーバーを起動し、起動されたサーバーが一時サーバーになります。
スイッチオーバー・ポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンス(中間層およびOracleAS Metadata Repository)でオプションに設定され、Oracle Internet Directoryホームでは必須に設定されています。
スイッチオーバー操作中に、opmn.xml
ファイルがプライマリ・サイトからスタンバイ・サイトにコピーされます。このため、TMP変数の値はプライマリ・サイトとスタンバイ・サイトの両方のopmn.xml
ファイルで同じ値に定義する必要があります。そうしないと、ディレクトリが見つからないというメッセージが表示され、このスイッチオーバー操作は失敗します。したがって、TMP変数が同じ値に定義され、スイッチオーバー操作を試行する前に両方のサイトの同じディレクトリ構造に解決されることを確認してください。
2つのOracle Identity Managemantインスタンスが稼動しているプライマリ・サイト(im.machineA.us.oracle.comおよびim.machineB.us.oracle.com)から、Oracle Identity Managemantインスタンスが1つだけ稼動している(im.machineA.us.oracle.com)非対称トポロジのスタンバイ・サイトへのスイッチオーバー操作を実行する場合、つまり、スイッチオーバー・サイトでもう1つのノード(im.machineB.us.oracle.com)を無視する場合、このスイッチオーバー操作を成功させるには、システム管理者がswitchover_policy.xml
ポリシー・ファイルを編集してノードをIgnoreに設定するだけでなく、このノード(im.machineB.us.oracle.com)で実行中のすべてのプロセスを停止する必要があります。
2つの中間層を持つプライマリ・サイト(Oracle Internet Directoryにcore1とcore2インスタンスが登録されている場合など)から中間層core1のみを持つ非対称トポロジのスタンバイ・サイトへのスイッチオーバー操作を実行する場合、スタンバイ・サイトのOracle Internet Directoryでは、core1とcore2中間層が両方とも登録されることになります。switchover_policy.xml
ポリシー・ファイルを編集して、core2中間層を無視するようにします。core2中間層はスイッチオーバー操作の間はスタンバイ・サイトに存在しません。しかし、Oracleデータベースが格納されているOracle Internet Directoryは本番サイト・トポロジとスタンバイ・サイト・トポロジで同一なので、core2中間層もスタンバイ・サイト・トポロジのOracle Internet Directoryに登録されていることになります。そのため、再度対称トポロジにするために、そのスタンバイ・サイト・トポロジに同じcore2中間層をインストールできません。これは非対称スタンバイ・トポロジを使用するスイッチオーバー操作の厳しい制限です。
スイッチオーバー操作の後に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はこれらの中間層の各インスタンスのホスト/ホームでその存在を検証すると、一部が存在しないことが判明し警告を発します。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次の例では、DNS名がstandbyinfraのスタンバイ・サイトにスイッチオーバー操作を実行しています。
ASGCTL> connect asg prodinfra ias_admin/adminpwd
Successfully connected to prodinfra:7890
ASGCTL> set primary database sys/testpwd@asdb
ASGCTL> switchover topology to standbyinfra
Generating default policy for this operation
prodinfra:7890
Switchover each instance in the topology to standby topology
prodinfra:7890 (home /private1/OraHome2/asr1012)
Connecting to the primary database asdb.us.oracle.com
Gathering information from the primary database asdb.us.oracle.com
Shutting down each instance in the topology
.
.
.
prodinfra:7890
HA directory exists for instance asr1012.infra.us.oracle.com
asmid2:7890
HA directory exists for instance asmid2.asmid2.us.oracle.com
asmid1:7890
HA directory exists for instance asmid1.asmid1.us.oracle.com
standbyinfra:7890
HA directory exists for instance asr1012.infra.us.oracle.com
asmid2:7890
HA directory exists for instance asmid2.asmid2.us.oracle.com
asmid1:7890
HA directory exists for instance asmid1.asmid1.us.oracle.com
prodinfra:7890
Verifying that the topology is symmetrical in both primary and standby configuration
ASGCTL>
# Command to use if you are using a policy file
# switchover topology to standbyinfra using policy <file>
スタンバイ・サイトとプライマリ・サイトを同期化し、2つのサイト間で一貫性を保ちます。トポロジの同期化操作では、外部の構成ファイルをトポロジ全体に同期化する際に、OracleAS InfrastructureデータベースのREDOログをスタンバイ・サイトに適用します。
sync topology to <standby_topology_host>[:<port>] [full | incr[emental]] [using policy <file>]
スタンバイ・サイト・ホスト・システムの名前。このパラメータは、OracleAS Guard調整サーバー・インスタンスを指定して、スタンバイ・サイトを構成するインスタンスを検出するために必要です。ホスト・システムは、スタンバイ・トポロジのメンバーである必要があります。
Oracleホーム内にあるOracleAS Guardサーバーのスタンバイ・ホスト・システムのポート番号。
プライマリ・サイトとスタンバイ・サイトの間で一貫性を保つために同期をとる際には、fullまたはincrementalを指定できます。デフォルトはincrementalです。全体バックアップが実行されていない場合、デフォルトでは、増分バックアップ操作が実行されません。かわりに、全体バックアップ操作が実行されます。
XMLポリシー・ファイルのフル・パスとファイル名による指定。
デフォルトではincrementalで同期化が実行され、スタンバイ・サイトとプライマリ・サイトで一貫性が維持され、最も高いパフォーマンスになります。ただし、次の3つの条件に該当する場合には、同期化をfullに指定してください。
同期化操作により、暗黙の検証操作が実行されます。
同期化のポリシー・ファイルでは、デフォルトで成功要件属性はすべてのインスタンスで必須に設定されています。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次の例では、指定したスタンバイ・サイトをOracleAS Guard調整サーバー(プライマリ・サイト)と同期化しています。デフォルトでは、sync modeにincrementalが指定されています。
ASGCTL> connect asg prodinfra ias_admin/adminpwd
Successfully connected to prodinfra:7890
ASGCTL> set primary database sys/testpwd@asdb
Checking connection to database asdb
ASGCTL> sync topology to standbyinfra
Generating default policy for this operation
prodinfra:7890
Synchronizing each instance in the topology to standby topology
prodinfra:7890 (home /private1/OraHome2/asr1012)
Starting backup of topology ""
Backing up and copying data to the standby topology
Backing up each instance in the topology
Starting backup of instance "asr1012.infra.us.oracle.com"
Configuring the backup script
asmid1:7890 (home /private1/OraHome/asmid1)
Starting backup of instance "asmid1.asmid1.us.oracle.com"
asmid2:7891 (home /private1/OraHome/asmid2)
Starting backup of instance "asmid2.asmid2.us.oracle.com"
.
.
.
asmid2:7890 (home /private1/OraHome2/asr1012)
Starting backup/synchronization of database "asdb.us.oracle.com"
Starting restore/synchronization of database "asdb.us.oracle.com"
Synchronizing topology completed successfully
ASGCTL>
# Command to use if you are using a policy file
# sync topology to standbyinfra using policy <file>
プライマリ・トポロジが実行中であること、およびその構成が有効であることを検証します。スタンバイ・トポロジを指定した場合は、ローカル・ホスト・システムがメンバーであるプライマリ・トポロジと、スタンバイ・トポロジを比較し、両方のトポロジが一致していること、およびOracleAS Disaster Recoveryの要件を順守していることを確認します。
verify topology [with <host>[:<port>]] [using policy <file>]
スタンバイ・ホスト・システムの名前。ホスト・システムは、スタンバイ・トポロジのメンバーである必要があります。
OracleホームのOracleAS Guardサーバーのホスト・システムのポート番号。
XMLポリシー・ファイルのフル・パスとファイル名による指定。
ホスト・システム名を指定しない場合は、ローカル・ホスト・システムが属すトポロジがOracleAS Disaster Recoveryのローカル・ルールを順守しているかどうかが確認されます。
スタンバイ・ホスト・システム名を指定した場合は、そのスタンバイ・サイトのトポロジが、本番トポロジとともに、ローカル・ルールと分散配置のOracleAS Disaster Recoveryのルールを順守しているかどうかが確認されます。また、プライマリ・サイトとスタンバイ・サイト間の対称性もチェックされます。
検証のポリシー・ファイルでは、デフォルトで成功要件属性はすべてのOracleASホーム(中間層およびOracleAS Metadata Repository)でオプションに設定され、Oracle Internet Directoryホームでは必須に設定されています。
詳細は、第7.1項「OracleAS Guard asgctlコマンドに共通な情報」および第7.2項「OracleAS Guardコマンドの一部に特有の情報」を参照してください。
次の例では、プライマリ・トポロジが実行中であること、およびその構成が有効であることを検証しています。
ASGCTL> connect asg ias_admin/iastest2
Successfully connected to prodinfra:7890
ASGCTL> verify topology
Generating default policy for this operation
prodinfra:7890
HA directory exists for instance asr1012.infra.us.oracle.com
asmid2:7890
HA directory exists for instance asmid2.asmid2.us.oracle.com
asmid1:7890
HA directory exists for instance asmid1.asmid1.us.oracle.com
ASGCTL>
次の例では、ローカル・ホスト・システムをメンバーに持つトポロジが、ホスト・システムstandbyinfraをメンバーに持つスタンバイ・トポロジと一致していることを検証しています。
ASGCTL> connect asg prodinfra ias_admin/adminpwd
Successfully connected to prodinfra:7890
ASGCTL> set primary database sys/testpwd@asdb
Checking connection to database asdb
ASGCTL> verify topology with standbyinfra
Generating default policy for this operation
prodinfra:7890
HA directory exists for instance asr1012.infra.us.oracle.com
asmid2:7890
HA directory exists for instance asmid2.asmid2.us.oracle.com
asmid1:7890
HA directory exists for instance asmid1.asmid1.us.oracle.com
standbyinfra:7890
HA directory exists for instance asr1012.infra.us.oracle.com
asmid2:7890
HA directory exists for instance asmid2.asmid2.us.oracle.com
asmid1:7890
HA directory exists for instance asmid1.asmid1.us.oracle.com
prodinfra:7890
Verifying that the topology is symmetrical in both primary and standby configuration
ASGCTL>
# Command to use if you are using a policy file
# verify topology using policy <file>
asgctlに、ファームに関する詳細な情報を、指定したファイルに書き込むように指示します。
注意 dump farmコマンドは、OracleAS 10gリリース2(10.1.2.0.2)から廃止されています。そのため、dump topologyコマンドを使用します。これは現在および今後のOracleASリリースのOracleAS Disaster Recoveryトポロジの概念をサポートしています。 |
dump farm [to <file>]
詳細情報の出力の書込み先である、OracleAS Guardクライアント・ノード内のファイルの名前。
なし。
例は「dump topology」を参照してください。
スタンバイ・サイトのファームをインスタンス化します。本番サイトとスタンバイ・サイトの現在のファームの定義を検出し、それらの定義が、これらのシステムに配置されている現在のOracleASソフトウェアのOracleAS Disaster Recoveryのルールおよび制限を順守していることをインスタンス化の前に検証します。また、スタンバイ・サイトとプライマリ・サイトを同期化し、プライマリ・サイトとスタンバイ・サイトの間で一貫性を保ちます。
注意 instantiate farmコマンドは、OracleAS 10gリリース2(10.1.2.0.2)から廃止されています。そのため、instantiate topologyコマンドを使用します。これは現在および今後のOracleASリリースのOracleAS Disaster Recoveryトポロジの概念をサポートしています。 |
instantiate farm to <standby_farm_host>[:<port>]
スタンバイ・ホスト・システムの名前。このパラメータは、OracleAS Guard調整サーバー・インスタンスを指定して、スタンバイ・サイトを構成するインスタンスを検出するために必要です。ホスト・システムは、スタンバイ・ファームのメンバーである必要があります。
Oracleホーム内のOracleAS Guardサーバーのポート番号。
本番ローカル・システムは、そのサイトのOracle Notification Server(ONS)ファームに属している必要があります。
スタンバイ・ホストは、スタンバイ・サイトのONSファームに属している必要があり、本番ファームのファームと対称性を持っている必要があります。
ファームのインスタンス化操作を実行する前に、OracleAS Infrastructureデータベースがプライマリ・ファームで実行されていることを確認する必要があります。また、asgctlのset primary databaseコマンドによって、OracleAS Infrastructureデータベースの情報が設定されている必要があります。
グローバルDNS名を使用してインスタンス化を実行することもできます。この場合、OracleAS Disaster Recovery環境で利用されている高可用性のネーミングと異なることになります。検出メカニズムが、ローカルの名前解決に従って自動的にファームを対応するピアにマップします。
例は「instantiate topology」を参照してください。
稼動中のファームを停止します。
注意 shutdown farmコマンドは、OracleAS 10gリリース2(10.1.2.0.2)から廃止されています。そのため、shutdown topologyコマンドを使用します。これは現在および今後のOracleASリリースのOracleAS Disaster Recoveryトポロジの概念をサポートしています。 |
shutdown farm
なし。
これは、全ファームを停止するときに便利なコマンドです。ファームを再起動する場合は、startup farmコマンドを使用します。
例は「shutdown topology」を参照してください。
停止したファームを起動します。
注意 startup farmコマンドは、OracleAS 10gリリース2(10.1.2.0.2)から廃止されています。そのため、startup topologyコマンドを使用します。これは現在および今後のOracleASリリースのOracleAS Disaster Recoveryトポロジの概念をサポートしています。 |
startup farm
なし。
これは、shutdown farmコマンドを使用して停止した後にファーム全体を起動するときに便利なコマンドです。
例は「startup topology」を参照してください。
本番サイトのスケジューリングした停止の間に、本番サイトからスタンバイ・サイトへのスイッチオーバー操作を実行します。
注意 switchover farmコマンドは、OracleAS 10gリリース2(10.1.2.0.2)から廃止されています。そのため、switchover topologyコマンドを使用します。これは現在および今後のOracleASリリースのOracleAS Disaster Recoveryトポロジの概念をサポートしています。 |
switchover farm to <standby_farm_host>[:<port>]
ファーム・ホスト・システムの名前。このパラメータは、OracleAS Guard調整サーバー・インスタンスを指定して、スタンバイ・サイトを構成するインスタンスを検出するために必要です。ホスト・システムは、スタンバイ・ファームのメンバーである必要があります。
Oracleホーム内にあるOracleAS Guardサーバーのスタンバイ・ホスト・システムのポート番号。
プライマリ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システムの場合、emagentプロセスを停止するために、Application Server Controlを停止します。このコンポーネントは次のようにiasconsoleでコールします。
> <ORACLE_HOME>/bin/emctl stop iasconsole
UNIXシステムの場合、emagentプロセスが実行されていないかをチェックするために、次の操作を実行します。
> ps -ef | grep emagent
UNIXシステムの場合、stop iasconsoleの操作の後でemagentプロセスが依然として動作しているときに、次のコマンドで前のpsコマンドで決定されたプロセスID(PID)を取得し、停止します。
> kill -9 <emagent-pid>
Windowsシステムの場合、「サービス」コントロール パネルを開きます。OracleAS10gASControlサービスを見つけて、このサービスを停止します。
本番ローカル・システムは、そのサイトのOracle Notification Server(ONS)ファームに属している必要があります。
スタンバイ・ホストは、スタンバイ・サイトのONSファームに属している必要があり、本番ファームのファームと対称性を持っている必要があります。
スイッチオーバー操作を実行する前に、OracleAS Infrastructureデータベースがプライマリ・ファームで実行されていることを確認する必要があります。また、asgctlのset primary databaseコマンドによって、OracleAS Infrastructureデータベースの情報が設定されている必要があります。
グローバルDNS名を使用してスイッチオーバーを実行することもできます。この場合、OracleAS Disaster Recovery環境で利用されている高可用性のネーミングと異なることになります。検出メカニズムが、ローカルの名前解決に従って自動的にファームを対応するピアにマップします。
OracleAS Guardのスイッチオーバー操作の際に、implicit sync farm操作が実行され、2つのファームが同一であるか確認されます。さらに、OPMNは新しいスタンバイInfrastructureノードのOracleAS Guardサーバーを自動的に起動し、このサーバーは稼動し続けます。次に、新しいスタンバイ・ファームの他のノードのOracleAS Guardサーバーを起動します。それぞれは一時サーバーになります。
例は「switchover topology」を参照してください。
スタンバイ・サイトとプライマリ・サイトを同期化し、2つのサイト間で一貫性を保ちます。トポロジの同期化操作では、外部の構成ファイルをトポロジ全体に同期化する際に、OracleAS InfrastructureデータベースのREDOログをスタンバイ・サイトに適用します。
注意 sync farmコマンドは、OracleAS 10gリリース2(10.1.2.0.2)から廃止されています。そのため、sync topologyコマンドを使用します。これは現在および今後のOracleASリリースのOracleAS Disaster Recoveryトポロジの概念をサポートしています。 |
sync farm to <standby_farm_host>[:<port>] [full | incr[emental]]
スタンバイ・サイト・ホスト・システムの名前。このパラメータは、OracleAS Guard調整サーバー・インスタンスを指定して、スタンバイ・サイトを構成するインスタンスを検出するために必要です。ホスト・システムは、スタンバイ・ファームのメンバーである必要があります。
Oracleホーム内にあるOracleAS Guardサーバーのスタンバイ・ホスト・システムのポート番号。
プライマリ・サイトとスタンバイ・サイトの間で一貫性を保つために同期をとる際には、fullまたはincrementalを指定できます。デフォルトはincrementalです。全体バックアップが実行されていない場合、デフォルトでは、増分バックアップ操作が実行されません。かわりに、全体バックアップ操作が実行されます。
デフォルトでは、sync_mode
がincrementalに設定され、最も高いパフォーマンスになります。ただし、次の3つの条件に該当する場合には、sync_mode
をfullに指定してください。
例は「sync topology」を参照してください。
プライマリ・ファームが実行中であること、およびその構成が有効であることを検証します。スタンバイ・ファームを指定した場合は、ローカル・ホスト・システムがメンバーであるプライマリ・ファームと、スタンバイ・ファームを比較し、両方のファームが一致していること、およびOracleAS Disaster Recoveryの要件を順守していることを確認します。
注意 verify farmコマンドは、OracleAS 10gリリース2(10.1.2.0.2)から廃止されています。そのため、verify topologyコマンドを使用します。これは現在および今後のOracleASリリースのOracleAS Disaster Recoveryトポロジの概念をサポートしています。 |
verify farm [with <host>[:<port>]]
スタンバイ・ホスト・システムの名前。ホスト・システムは、スタンバイ・ファームのメンバーである必要があります。
Oracleホーム内のOracleAS Guardサーバーのポート番号。
ホスト・システム名を指定しない場合は、ローカル・ホスト・システムが属すファームがOracleAS Disaster Recoveryのローカル・ルールを順守しているかどうかが確認されます。
スタンバイ・ホスト・システム名を指定した場合は、そのスタンバイ・サイトのファームが、本番ファームとともに、ローカル・ルールと分散配置のOracleAS Disaster Recoveryのルールを順守しているかどうかが確認されます。また、プライマリ・サイトとスタンバイ・サイト間の対称性もチェックされます。
例は「verify topology」を参照してください。
|
![]() Copyright © 2006, Oracle. All Rights Reserved. |
|