Sun Cluster Data Service for Oracle Application Server ガイド (Solaris OS 版)

ProcedureSun Cluster のインストールと構成方法


注意 – 注意 –

Oracle 9iAS (バージョン 9.0.2 と 9.0.3) および Oracle 10g AS (バージョン 9.0.4) は、ハードウェアクラスタでのインストールをサポートしていません。したがって、インストール時やインストール後に構成を行う際には、Sun Cluster を停止する必要があります。さらに、次の手順に進む前に、コンソールへのアクセスを確保するべきです。これらの要件を満たしていないと、データサービスの構成はサポートされないことがあります。



注 –

この手順では、Oracle 9iAS Infrastructure か Oracle 10g AS Infrastructure のインストールをサポートするクラスタファイルシステム がすでに設定されているものとします。


手順
  1. /etc/vfstab を編集して広域マウントオプションを一時的に削除します。

    インフラストラクチャーマウントポイントは、ノードが非クラスタモードの状態にあるときにマウントされるため、このマウントポイントが広域ファイルシステムの場合は、/etc/vfstab を編集し、global マウントオプションを一時的に削除する必要があります。

    行をコピーし、オリジナルのエントリをコメントアウトしたあとで、コピーしたエントリを修正して global オプションを削除することをお勧めします。

  2. クラスタを停止します。


    # scshutdown -g0 -y 
    
  3. 個々のクラスタノードを非クラスタモードで起動します。


    ok boot -x 
    
  4. インフラストラクチャーファイルシステムディスクセット/ディスクグループの所有権を取得します。

    Solaris Volume Manager の場合は次のよう入力します。


    #  metaset -s <diskset> -f -C take 
    #  mount  <Infrastructure mount point>
    

    Veritas Volume Manager の場合は次のよう入力します。


    #  vxdg -C import <diskgroup> 
    #  vxdg -g <diskgroup> startall
    #  mount  <Infrastructure mount point>
    
  5. インフラストラクチャーの論理 IP アドレスを plumb します。


    #  ifconfig <interface> addif <logical host> up 
    
  6. Oracle 9iAS Infrastructure をインストールします。


    注 –

    Oracle 10g AS Infrastructure をインストールする場合は、手順 7 を参照してください。


    ここでは、『Oracle Application Server, Installation Guide』マニュアルに従って Sun Cluster をインストールしてください。

    1. 挿入されている論理ホストを使用可能にし、テストします。

      この手順を行うためには、Sun Cluster の一部となるであろうすべてのノードに Sun Cluster HA for Oracle Application Server データサービスがインストールされていなければなりません。

      Sun Cluster の初回のインストールで Sun Cluster HA for Oracle Application Server パッケージをインストールしなかった場合は、この手順を続ける前に 「Sun Cluster HA for Oracle Application Server パッケージのインストール」に進んでください。


      注 –

      Oracle 9iAS Infrastructure を使用する場合は、すべての gethostname() 呼び出しに対して論理ホストの割り込み処理が必要です。この手順は、Sun Cluster の一部になるであろうすべてのノードで行う必要があります。LHOSTNAME に設定する論理ホスト名は、完全修飾名ではなく省略名です。



      # cd /opt/SUNWsc9ias/lib
      # cp libloghost_32.so.1 /usr/lib/libloghost_32.so.1 
      # cp libloghost_64.so.1 /usr/lib/sparcv9/libloghost_64.so.1
      #
      # cd /usr/lib/secure
      # ln -s /usr/lib/libloghost_32.so.1 libloghost_32.so.1
      #
      # cd /usr/lib/secure/sparcv9
      # ln -s /usr/lib/sparcv9/libloghost_64.so.1  libloghost_64.so.1  
      #
      # su - <Oracle Application Server Userid> 
      $ LD_PRELOAD_32=libloghost_32.so.1
      $ LHOSTNAME=<logical hostname>
      $ export LHOSTNAME  LD_PRELOAD_32
      $
      $ uname -n
      <logical host>     <- The logical host should be returned
    2. インストール時に ORACLE_HOME を設定します。

      インストール中に ORACLE_HOME 変数の入力を求めるプロンプトには、手順 4 でマウントしたインフラストラクチャーファイルシステム上のディレクトリを指定してください。

      runInstaller によって検出されるホスト名は、手順 5 で plumb した論理ホスト名です。

    3. 構成アシスタントを実行する前の事前作業を行います。

      ソフトウェアがインストールされると、Oracle 9iAS インストーラは、Oracle 9iAS Infrastructure のさまざまな構成要素に対して構成アシスタントを実行します。構成作業の説明を開始する前に、インストーラはスクリプト root.sh を実行するようにプロンプトを表示します。root.sh スクリプトを実行するに、ほかのウィンドウで次の操作を行う必要があります。これは、OHS が apachectl に定義された構成情報を使用するため、変数値 LD_PRELOAD_32 と LHOSTNAME を継承していないからです。

      apachectl の CONFIGURATION セクションに次の 3 行を追加します。これらの行はファイル内の PIDFILE= 設定の直前に入れることができます。


      $ cd $ORACLE_HOME/Apache/Apache/bin 
      $
      $ vi apachectl
      
      and add the following three lines to the CONFIGURATION section in apachectl 
      (you can add these three lines just before the PIDFILE= setting)
      
      LD_PRELOAD_32=libloghost_32.so.1
      LHOSTNAME=<logical hostname>
      export LHOSTNAME LD_PRELOAD_32 
      
    4. パッチをインストールします。


      注 –

      パッチのインストールは、パッチ README ファイルの説明に従って慎重に行なってください。説明に従わない場合、Sun Cluster HA for Oracle Application Server の一部の機能が正しく動作しないことがあります。

      問題の中には、その原因が、パッチが適切にインストールされていないことに存在する場合があります。Oracle 9iAS バージョン 9.0.2 を使用する場合は、Sun Cluster 内でこれを使用する前にパッチが正しくインストールされていなければなりません。また、パッチインストール後の手順も適切に行う必要があります。この時点でのパッチ作業に時間をかけることは、作業全体からみて、十分に価値のあることです。



      ヒント –

      パッチをインストールする際には、$ORACLE_HOME/opmn/conf/opmn.xml をチェックして、新しいセクションがパッチによって追加されていないか確認するべきです。ただし、この確認が必要なのは、root.sh スクリプトの実行を要求されている場合だけです。

      root.sh スクリプトを実行するように要求される場合は、そのスクリプトに対して OK を押す前に、$ORACLE_HOME/opmn/conf/opmn.xml をチェックしてください。新しいセクションが追加されている場合は、OK メッセージに対して Enter キーを押すに、次の手順で示されているように LD_LIBRARY_PATH、LD_PRELOAD_32、 LHOSTNAME および DISPLAY を含めてください。


      インストール後のパッチ情報については、最新のリリースノートを参照してください。

    5. opmn.xml を編集します。

      次のコマンドで opmn を停止します。


      $ $ORACLE_HOME/opmn/bin/opmnctl stopall 
      

      $ORACLE_HOME/opmn/conf/opmn.xml ファイルを編集し、OC4J_DAS、home、OC4J_Demos、CUSTOM などの環境セクションに環境変数 LD_PRELOAD_32LHOSTNAME のエントリを追加してください。次に例を示します。


      注 –

      次の例では、LD_LIBRARY_PATH 値には $ORACLE_HOME/libDISPLAY 値には論理ホスト名、LHOSTNAME には完全修飾論理ホスト名を指定する必要があります。



       $ cat /global/ora9ias/infra/opmn/config/opmn.xml
      <ias-instance xmlns="http://www.oracle.com/ias-instance">
        <notification-server>
          <port local="6100" remote="6200" request="6003"/>
          <log-file path="/global/ora9ias/infra/opmn/logs/ons.log" level="3"/>
        </notification-server>
        <process-manager>
          <ohs gid="HTTP Server" maxRetry="3">
            <start-mode mode="ssl"/>
          </ohs>
          <oc4j maxRetry="3" instanceName="home" numProcs="1">
            <config-file path="/global/ora9ias/infra/j2ee/home/config/server.xml"/>
            <oc4j-option value="-properties"/>
            <port ajp="3000-3100" jms="3201-3300" rmi="3101-3200"/>
            <environment>
              <prop name="DISPLAY" value="ora9ias:0.0"/>
              <prop name="LD_LIBRARY_PATH" value="/global/ora9ias/infra/lib"/>
              <prop name="LHOSTNAME" value="ora9ias.com"/>
              <prop name="LD_PRELOAD_32" value="libloghost_32.so.1"/>
            </environment>
          </oc4j>
          <oc4j maxRetry="3" instanceName="OC4J_DAS" gid="OC4J_DAS" numProcs="1">
            <config-file path="/global/ora9ias/infra/j2ee/OC4J_DAS/config/server.xml"/>
            <java-option value="-server -Xincgc -Xnoclassgc -Xmx256m "/>
            <oc4j-option value="-properties"/>
            <port ajp="3001-3100" jms="3201-3300" rmi="3101-3200"/>
            <environment>
      <prop name="DISPLAY" value="ora9ias:0.0"/>
              <prop name="LD_LIBRARY_PATH" value="/global/ora9ias/infra/lib"/>
              <prop name="LHOSTNAME" value="ora9ias.com"/>
              <prop name="LD_PRELOAD_32" value="libloghost_32.so.1"/>
             </environment>
          </oc4j>
          <oc4j maxRetry="3" instanceName="OC4J_Demos" gid="OC4J_Demos" numProcs="1">
            <config-file path="/global/ora9ias/infra/j2ee/OC4J_Demos/config/server.xml"/>
            <java-option value="-Xmx512M "/>
            <oc4j-option value="-userThreads  -properties"/>
            <port ajp="3001-3100" jms="3201-3300" rmi="3101-3200"/>
            <environment>
              <prop name="%LIB_PATH_ENV%" value="%LIB_PATH_VALUE%"/>
      <prop name="DISPLAY" value="ora9ias:0.0"/>
              <prop name="LD_LIBRARY_PATH" value="/global/ora9ias/infra/lib"/>
              <prop name="LHOSTNAME" value="ora9ias.com"/>
              <prop name="LD_PRELOAD_32" value="libloghost_32.so.1"/> 
             </environment> 
          </oc4j>
          <custom gid="dcm-daemon" numProcs="1" noGidWildcard="true">
            <start path="/global/ora9ias/infra/dcm/bin/dcmctl daemon -logdir 
      	/global/ora9ias/infra/dcm/logs/daemon_logs"/>
            <stop path="/global/ora9ias/infra/dcm/bin/dcmctl shutdowndaemon"/>
            <environment>
      <prop name="DISPLAY" value="ora9ias:0.0"/>
              <prop name="LD_LIBRARY_PATH" value="/global/ora9ias/infra/lib"/>
              <prop name="LHOSTNAME" value="ora9ias.com"/>
              <prop name="LD_PRELOAD_32" value="libloghost_32.so.1"/>              
      </environment>
          </custom>
          <log-file path="/global/ora9ias/infra/opmn/logs/ipm.log" level="3"/>
        </process-manager>
      </ias-instance>
    6. OPMN を再起動します。


      $  $ORACLE_HOME/opmn/bin/opmnctl startall 
      
    7. OPMN 構成を更新します。


      $  $ORACLE_HOME/dcm/bin/dcmctl updateConfig -ct opmn 
      
    8. すべてのインフラストラクチャープロセスを停止します。

      これらのインフラストラクチャープロセスはインストール後に再起動されます。インフラストラクチャープロセスを一度停止する必要があるのは、Sun Cluster の制御下で起動できるようにするためです。

  7. Oracle 10g AS Infrastructure をインストールします。


    注 –

    Oracle 9iAS Infrastructure をインストールする場合は、手順 6 を参照してください。


    ここでは、『Oracle Application Server, Installation Guide』マニュアルに従って Sun Cluster をインストールしてください。

    1. インストール時に ORACLE_HOME を設定します。

      インストール中に ORACLE_HOME の入力を求めるプロンプトには、手順 4 でマウントしたインフラストラクチャーファイルシステム上のディレクトリを指定してください。

    2. パッチをインストールします。

      インストール後のパッチ情報については、最新のリリースノートを参照してください。

    3. すべてのインフラストラクチャープロセスを停止します。

      これらのインフラストラクチャープロセスはインストール後に再起動されます。インフラストラクチャープロセスを一度停止する必要があるのは、Sun Cluster の制御下で起動できるようにするためです。

  8. ほかのクラスタノードに対する準備をします。

    ORACLE_HOME は共有ストレージ上にあるため、クラスタのほかのノードに同じソフトウェアを再びインストールする必要はありません。Oracle 9iAS または Oracle 10g AS Infrastructure ファイルシステムが広域ファイルシステムかフェイルオーバーファイルシステムとしていったん Sun Cluster の制御下に入ると、それらの インフラストラクチャーファイルには Sun Cluster のほかのノードからもアクセスできるようになります。

    しかし、クラスタ内のほかのノード上で /var/opt/oracle 内の oratab ファイルと emtab ファイルを更新する必要があります。ほかのノードに Oracle データベースインスタンスがない場合は、それらのファイルを最初のノードからほかのノードに次々にコピーします。Oracle データベースインスタンスがある場合は、ノード 1 の oratab ファイルと emtab ファイルのiasdb エントリをほかのノードの同じファイルに次々と追加します。必要な場合は、ノード 2 にこれらのファイルを作成します。

  9. 中間層をインフラストラクチャーと同じノードにインストールする場合の準備を行います。

    Oracle 9iAS や Oracle 10g AS Infrastructure とは異なり、中間層は、高可用性を達成するために複数のアクティブノードにインストールできます。一般には、中間層とインフラストラクチャーは別々のノードにインストールされます。ただし、クラスタ化されたインフラストラクチャーがインストールされている 1 つまたは複数のノードに中間層をインストールすることもできます。その場合には、インフラストラクチャーのホストとなり得るノードの ローカルディスクに中間層をインストールします。

    ただし、中間層とインフラストラクチャーで同じクラスタノードを共有する場合は、2 つの「/var/opt/oracle」域を常に維持する必要があります。その 1 つはインフラストラクチャー用で、この場合 "oraInst.loc" は共有ディスク上の "oraInventory" ディレクトリを指します。もう 1 つは各クラスタノード上のローカルディスクにインストールされた中間層インスタンス用で、この場合 "oraInst.loc" はそのノードのローカルディスク上のほかの "oraInventory" ディレクトリを指します。これらのディレクトリは、パッチを適用したり、アップグレードや保守を行う際に必要になるため、その保存が必要です。


    注 –

    インフラストラクチャーや中間層でパッチの適用やアップグレードを行う場合は、Oracle インストーラを起動する前に、対応する「/var/opt/oracle」のオリジナルコピーを復帰させ、使用可能にする必要があります。


    中間層とインフラストラクチャーが同時にインストールされているクラスタノードの /var/opt/oracle を保存します。


     # cp -rp /var/opt/oracle /var/opt/oracle_infra 
    

    注 –

    後で Sun Cluster HA for Oracle Application Server データサービスを登録する際に、Oracle 9iAS Infrastructure の「/var/opt/oracle」がある場所のディレクトリを指定する必要があります。この例では、これを /var/opt/oracle_infra にコピーしています。


  10. Sun Cluster インフラストラクチャーを停止します。

    Oracle 9iAS Infrastructure の場合は、次のように入力します。


    #  su -  <Oracle Application Server Userid>
    $ <Oracle Home>/bin/emctl stop
    $ <Oracle Home>/opmn/bin/opmnctl stopall
    $ <Oracle Home>/bin/oidctl server=oidldapd configset=0 instance=1 stop
    $ <Oracle Home>/bin/oidmon stop
    

    Oracle 10g AS Infrastructure の場合は、次のように入力します。


    #  su -  <Oracle Application Server Userid>
    $ <Oracle Home>/bin/emctl stop iasconsole
    $ <Oracle Home>/opmn/bin/opmnctl stopall
    
  11. Oracle Database と Listener を停止します。


    #  su -  <Oracle Database  Userid>
    $ <Oracle Home>/bin/lsnrctl  stop
    $ <Oracle Home>/bin/sqlplus "/ as sysdba"
    $ shutdown normal
    $ quit
    
  12. /etc/vfstab を編集して広域マウントオプションを元に戻します。

    インフラストラクチャーマウントポイントが広域ファイルシステムの場合で、手順 1 で広域オプションを一時的に削除したときは、広域マウントオプションを元に戻す必要があります。

    /etc/vfstab を編集し、global マウントオプションを復帰させる必要があります。オリジナルのエントリをコメントアウトした場合は、そのコメントだけを削除し、手順 1 で作成したコピーエントリーをコメントアウトしてください。

  13. 各ノードをクラスタモードで起動します。


    #  reboot