プライマリ・コンテンツに移動
Oracle® Clusterware管理およびデプロイメント・ガイド
12c リリース1 (12.1)
B71322-07
目次へ移動
目次
索引へ移動
索引

前
次

SRVCTLを使用した仮想IPアドレスの変更

Oracle Database 11gリリース2(11.2)より前のOracle DatabaseリリースのパブリックVIPアドレスを使用するように構成されたクライアントは、既存の接続アドレスを引き続き使用できます。SCANを使用するようにクライアントを構成することをお薦めしますが、ユーザーがSCANを使用する必要はありません。以前のバージョンのOracle Databaseは、アップグレードされるとSCANに登録され、クライアントでは、SCANを使用してこのデータベースへの接続を開始するか、接続用のVIPアドレスの使用を継続することができます。

クライアント接続用のVIPアドレスの使用を継続する場合、Oracle DatabaseおよびOracle ASMの実行が継続している間にVIPアドレスを変更できます。ただし、アドレスを変更する間は、サービスを停止する必要があります。VIPアドレスを再起動すると、サービスもノードで再起動します。

この手順を使用して、静的パブリック・サブネットでDHCPを使用するように変更することはできません。srvctl add network -subnetコマンドは、DHCPネットワークを作成するだけです。

関連項目:

srvctl add networkコマンドの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

注意:

次の説明は、VIPアドレスのみを変更する方法を示すもので、VIPアドレスに関連付けられたホスト名は変更しないことを想定しています。GNSを使用していて、VIPがDHCPを使用して割り当てられている場合は、VIPアドレスを手動で更新する必要はありません。

VIPアドレスのみを変更する場合、DNSおよびクライアントのhostsファイルを更新します。また、サーバーのhostsファイルがVIPアドレスに対して使用されている場合は、それも更新します。

VIPアドレスを変更するには、次の手順を実行します。

  1. 次のコマンド構文を使用して、変更するVIPアドレスのノードで実行されているすべてのサービスを停止します。database_nameはデータベースの名前、service_name_listは停止するサービスのリスト、およびmy_nodeは変更するVIPアドレスのノードの名前です。
    srvctl stop service -db database_name -service "service_name_list" -node node_name
    

    次の例では、-dbオプションでデータベース名(grid)を指定し、適切なノード(mynode)上のサービス(sales,oltp)を指定しています。

    $ srvctl stop service -db grid -service "sales,oltp" -node mynode
    
  2. srvctl config vipコマンドを実行して、VIPアドレスの現在のIPアドレスを確認します。このコマンドにより、ネットワーク・インタフェースの1つにバインドされた現在のVIPアドレスが表示されます。node03-vipという名前のVIPに構成されたVIPアドレスの例を次に示します。
    $ srvctl config vip -vipname node03-vip
    VIP exists: /node03-vip/192.168.2.20/255.255.255.0/eth0
    
  3. srvctl stop vipコマンドを使用してVIPリソースを停止します。
    $ srvctl stop vip -node node_name
    
  4. LinuxまたはUNIXシステムでifconfig -aコマンドを実行(Windowsシステムの場合はipconfig /allコマンドを発行)して、VIPリソースが実行されていないことを確認し、インタフェース(この例ではeth0:1)が出力に表示されていないことを確認します。
  5. LinuxおよびUNIXシステムではすべてのノードの/etc/hostsファイルに、Windowsシステムでは%windir%\system32\drivers\etc\hostsファイルに、必要なすべての変更を加え、DNSを適切に変更して、新しいIPアドレスを古いホスト名に関連付けます。
  6. VIPリソースを変更する前に、デフォルト・ネットワークに異なるサブネットまたはネットワーク・インタフェース・カードを使用するには、srvctl modify network -subnet subnet/netmask/interfaceコマンドをrootとして使用して、ネットワーク・リソースを変更する必要があります(subnetは新しいサブネット・アドレス、netmaskは新しいネットマスク、interfaceは新しいインタフェースです)。サブネットの変更後、次の手順で説明するとおり、各ノードのVIPを新しいサブネットのIPアドレスに変更する必要があります。
  7. 次のsrvctl modify nodeapps構文を使用して、ノード・アプリケーションを変更し、新しいVIPアドレスを指定します。
    $ srvctl modify nodeapps -node node_name -address new_vip_address
    

    コマンドには次のフラグおよび値が含まれます。

    • -n node_nameはノード名です。

    • -A new_vip_addressはノード・レベルのVIPアドレスで、次のようになります。name|ip/netmask/[if1[|if2|...]]

      たとえば、rootユーザーとして次のコマンドを発行します。

      srvctl modify nodeapps -node mynode -address 192.168.2.125/255.255.255.0/eth0
      

      インストール所有者アカウントとしてこのコマンドを発行しようとすると、エラーが発生する場合があります。たとえば、インストール所有者がoracleの場合は、エラー「PRCN-2018: Current user oracle is not a privileged user」が表示される場合があります。このエラーを回避するには、rootまたはシステム管理者アカウントとしてコマンドを実行します。

  8. 次のようにして、srvctl start vipコマンドを実行し、ノードVIPを起動します。
    $ srvctl start vip -node node_name
    

    次のコマンドの例では、mynodeという名前のノードでVIPを起動します。

    $ srvctl start vip -node mynode
    
  9. クラスタ内の各ノードでこの手順を繰り返します。

    SRVCTLユーティリティはクラスタ全体の管理ツールであるため、各クラスタ・ノードにログインせずに、クラスタ内の任意のノードから特定のノードに対し、これらのタスクを完了することができます。

  10. 次のコマンドを実行して、クラスタが構成されているすべてのノード間の接続性を確認します。このコマンドは、クラスタ・ノード上で使用可能なすべてのネットワーク・インタフェースを検出し、検出されたインタフェースからすべてのノードへの接続性を確認します。また、ノードで使用可能な、VIPアドレスとしての使用に適したすべてのインタフェースを表示します。
    $ cluvfy comp nodecon -n all -verbose