アプリケーションのクライアントがネットワークを介してアプリケーションにアクセスし、アプリケーションの配置ポリシーによって別のノードへのフェイルオーバーが可能である場合は、アプリケーションが依存する仮想インターネット・プロトコル・アドレス(VIP)を登録する必要があります。アプリケーションVIPは、Oracle Clusterwareによって管理されるクラスタ・リソースです(Oracle ClusterwareではアプリケーションVIP用の標準VIPエージェントが提供されます)。システムで、クラスタにデプロイされたすべてのVIPの動作の一貫性が保持されるように、新しいアプリケーションVIPはこのVIPタイプに基づく必要があります。
Oracle Clusterwareが管理するその他のリソースを追加するときと同じ方法でVIPを追加することができますが、Oracleでは、Grid_home/bin/appvipcfgコマンドライン・ユーティリティを使用して、ora.net1.networkがデフォルトで作成されるデフォルトのネットワークにアプリケーションVIPを作成または削除することをお薦めします。
アプリケーションVIPを作成するには、次の構文を使用します。
appvipcfg create -network=network_nummber -ip=ip_address -vipname=vip_name -user=user_name [-group=group_name] [-failback=0 | 1]
注意:
VIP名は、リソースをオンラインにしたまま、リソースを再起動せずに変更できます。
デフォルトのネットワークにVIPを作成する場合、-network=1を設定します。
デフォルト以外のネットワークにアプリケーションVIPを作成するには、場合によって、最初にsrvctl add networkコマンドを使用してネットワークを作成する必要があります。その後、-network=non-default_network_numberを設定してアプリケーションVIPを作成できます。
Oracle Flex Clusterでは、srvctl add networkコマンドを次の構文で使用して、アプリケーションをリーフ・ノード上で実行できるように、アプリケーションVIPのリーフ・ノード・ネットワーク・リソースを追加することもできます。
srvctl add network -netnum=network_number -subnet subnet/netmask[/if1[|if2|...]] -leaf
関連項目:
srvctl add networkコマンドの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
リーフ・ノードの詳細は、「Oracle Flex Cluster」を参照してください。
アプリケーションVIPを削除するには、次の構文を使用します。
appvipcfg delete -vipname=vip_name
前述の構文の例で、network_numberはネットワークの番号、ip_addressはIPアドレス、vip_nameはVIPの名前、user_nameはOracle Databaseをインストールしたユーザーの名前、group_nameはグループの名前です。-failbackオプションのデフォルト値は0です。オプションを1に設定すると、VIP(および、VIPに依存するすべてのリソース)は、元のノードが再び使用可能になると、元のノードにフェイルバックします。
注意:
-ip=ip_addressパラメータは必須ですが、グリッド・プラグ・アンド・プレイおよびDHCPとGNSが構成されている場合、このパラメータでは常にDHCPサーバーからのIPアドレスが取得され、コマンドで指定されたIPアドレスは無視されます。DHCPを使用する場合、-vipname=vip_nameパラメータの値も無視されます。
たとえば、rootとして次のコマンドを実行します。
# Grid_home/bin/appvipcfg create -network=1 -ip=148.87.58.196 -vipname=appsVIP -user=root
スクリプトには、アプリケーションVIPリソースを所有するユーザーのほか、ネットワーク番号、IPアドレス、VIPリソースの名前のみが必要です。VIP関連の操作にはroot権限が必要であるため、通常、VIPリソースはrootが所有します。
アプリケーションVIPを削除するには、deleteオプションで同じスクリプトを使用します。このオプションはVIPの名前をパラメータとして受け入れます。次に例を示します。
# Grid_home/bin/appvipcfg delete -vipname=appsVIP
この構成スクリプトを使用してアプリケーションVIPを作成したら、次のコマンドを使用してVIPプロファイルを表示できます。
Grid_home/bin/crsctl status res appsVIP -p
Grid_home/bin/crsctl modify resコマンドを使用して次のパラメータの検証と、必要に応じて変更を行います。
関連項目:
CRSCTLコマンドの使用の詳細は、「Oracle Clusterwareのリソース・リファレンス」を参照してください。
appvipcfgスクリプトは、-network=1に設定されていても-networkオプションを指定する必要があります。
Oracle Databaseインストール所有者として、VIPリソースを起動します。
$ crsctl start resource appsVIP