Go to main content

Oracle® SuperCluster M7 シリーズ管理ガイド

印刷ビューの終了

更新: 2015 年 12 月
 
 

IB ネットワーク上に SDP リスナーを作成する

Oracle RAC 11g Release 2 は複数のネットワークを経由するクライアント接続をサポートします。このリリースでは、接続されているネットワーク内でのクライアント接続の負荷分散やフェイルオーバーが可能です。IB ネットワーク上で着信する EECS 接続用のリスナーを追加するには、最初に、仮想 IP アドレスを持つ IB ネットワーク用のネットワークリソースを追加します。


注 -  この例では 2 つのデータベースドメインが示されています。SuperCluster M7 内にデータベースドメインが 3 つ以上存在する場合は、クラスタ内のデータベースドメインごとにデータベースドメイン固有の行を繰り返す必要があります。
  1. クラスタ内の各データベースドメインで /etc/hosts ファイルを編集して、IB ネットワークで使用する仮想 IP アドレスを追加します。

    これらの IP アドレスが使用されていないことを確認します。

    例:

    # Added for Listener over IB

    192.168.10.21 ssc01db01-ibvip.mycompany.com ssc01db01-ibvip

    192.168.10.22 ssc01db02-ibvip.mycompany.com ssc01db02-ibvip

  2. データベースドメインの 1 つで次の例のように、root ユーザーとして IB ネットワーク用のネットワークリソースを作成します。

    # /u01/app/grid/product/11.2.0.2/bin/srvctl add network -k 2 -S 192.168.10.0/255.255.255.0/bondib0

  3. 次のいずれかのコマンドを実行して、ネットワークが正しく追加されたことを検証します。

    # /u01/app/grid/product/11.2.0.2/bin/crsctl stat res -t | grep net

    ora.net1.network

    ora.net2.network -- 新しいネットワークリソースを示す出力

    または

    # /u01/app/grid/product/11.2.0.2/bin/srvctl config network -k 2

    Network exists: 2/192.168.10.0/255.255.255.0/bondib0, type static -- Output indicating Network resource on the 192.168.10.0 subnet

  4. クラスタ内のノードごとに、Step 2 で作成したネットワーク上の仮想 IP アドレスを追加します。

    srvctl add vip -n ssc01db01 -A ssc01db01-ibvip/255.255.255.0/bondib0 -k 2

    srvctl add vip -n ssc01db02 -A ssc01db02-ibvip/255.255.255.0/bondib0 -k 2

  5. oracle」ユーザー (グリッドインフラストラクチャーホームを所有するユーザー) として、Step 3 で作成した VIP アドレスを待機するリスナーを追加します。

    srvctl add listener -l LISTENER_IB -k 2 -p TCP:1522,/SDP:1522

  6. 中間層から接続を受け入れるデータベースごとに、複数のネットワーク (Ethernet と IB) 間で負荷分散とフェイルオーバーを可能にするように listener_networks init パラメータを変更します。

    初期化パラメータに完全な tnsnames 構文を入力するか、$ORACLE_HOME/network/admin ディレクトリの tnsnames.ora にエントリを作成します。GRID_HOMEtnsnames.ora エントリが存在する必要があります。

    次の例では、tnsnames.ora が最初に更新されます。データベースドメインの適切な IP アドレスを使用して、データベースドメインごとにこの手順を実行します。LISTENER_IBREMOTE には、クラスタ内にあるほかのすべてのデータベースドメインのリストを含めるようにしてください。DBM_IB には、クラスタ内のすべてのデータベースドメインのリストを含めるようにしてください。


    注 -  データベースインスタンスが TNSNAMES エントリを読み取るのは起動時のみです。init.ora パラメータ (LISTENER_NETWORKS) によって参照されるエントリを変更する場合は、インスタンスを再起動するか、ALTER SYSTEM SET LISTENER_NETWORKS コマンドを入力してインスタンスに対し変更を有効にする必要があります。
    (DESCRIPTION =
    DBM =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01-scan)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
     
    (SERVICE_NAME = dbm)
    ))
     
    DBM_IB =
    (DESCRIPTION =
    (LOAD_BALANCE=on)
    (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01db01-ibvip)(PORT = 1522))
    (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01db02-ibvip)(PORT = 1522))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = dbm)
    ))
     
    LISTENER_IBREMOTE =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01db02-ibvip.mycompany.com)(PORT = 1522))
    ))
     
    LISTENER_IBLOCAL =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01db01-ibvip.mycompany.com)(PORT = 1522))
    (ADDRESS = (PROTOCOL = SDP)(HOST = ssc01db01-ibvip.mycompany.com)(PORT = 1522))
    ))
     
    LISTENER_IPLOCAL =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ssc0101-vip.mycompany.com)(PORT = 1521))
    ))
     
    LISTENER_IPREMOTE =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01-scan.mycompany.com)(PORT = 1521))
    ))
    
  7. listener_networks 初期化パラメータを変更します。

    sysdba としてデータベースインスタンスに接続します。

    SQLPLUS> alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both;

  8. Step 7 で変更した LISTENER_IB を停止してから起動します。

    srvctl stop listener -l LISTENER_IB

    srvctl start listener -l LISTENER_IB

関連情報