Sun Cluster 3.1 データサービス 10/03 ご使用にあたって

Sun Cluster 3.1 Data Service for Oracle Parallel Server/Real Application Clusters ガイド

この節では、『Sun Cluster 3.1 Data Service for Oracle Parallel Server/Real Application Clusters ガイド』の誤りや記載漏れについて説明します。

クラスタファイルシステムの使用要件

「クラスタファイルシステムを使用するための要件」という節には、クラスタファイルシステム上にデータファイルを保存できるという間違った記述があります。クラスタファイルシステムにはデータファイルを保存してはいけません。したがって、この節のデータファイルに関する説明はすべて無視してください。

クラスタファイルシステム上で Oracle Parallel Server/Real Application Clusters ソフトウェアと使用するためのノード固有のファイルとディレクトリの作成

Oracle ソフトウェアがクラスタファイルシステムにインストールされると、すべてのクラスタノードは ORACLE_HOME 環境変数が指定するディレクトリ内のすべてのファイルにアクセスできるようになります。

インストールでは、Oracle ファイルまたはディレクトリによってノード固有の情報を保持する必要がある場合があります。ノードのローカルファイルシステム上のファイルまたはディレクトリを対象とするシンボリックリンクを使用すると、この要件を満たせます。このようなファイルシステムは、クラスタファイルシステムの一部ではありません。

シンボリックリンクをこの目的で使用するには、ローカルファイルシステム上の領域を割り当てる必要があります。Oracle アプリケーションにこの領域内のファイルへのシンボリックリンクを作成させるには、アプリケーションがこの領域内のファイルにアクセスできなければなりません。シンボリックリンクはクラスタファイルシステム上にあるので、すべてのノードからのリンクへの参照はすべて同じです。したがって、すべてのノードがローカルファイルシステムの領域に対して同じ名前空間を持つ必要があります。

クラスタファイルシステム上で Oracle Parallel Server/Real Application Clusters ソフトウェアと使用するためのノード固有のディレクトリの作成方法

ノード固有の情報を保持するには、各ディレクトリで次の手順を実行します。ノード固有の情報を保持するには、一般的に以下のディレクトリが必要です。

ノード固有の情報の保持に必要な場合がある他のディレクトリについては、Oracle のマニュアルを参照してください。

  1. 各クラスタノードでノード固有の情報を保持するローカルディレクトリを作成します。


    # mkdir -p local-dir
    
    -p

    最初に存在しない親ディレクトリを作成することを指定します。

    local-dir

    作成するディレクトリのフルパス名を指定します。

  2. 各クラスタノードでノード 固有の情報を保持する広域ディレクトリのローカルコピーを作成します。


    # cp -pr global-dir local-dir-parent
    
    -p

    所有者、グループ、アクセス権モード、変更時間、アクセス時間、およびアクセス制御リストを保持することを指定します。

    -r

    ディレクトリおよびサブディレクトリとそのファイルを含むディレクトリ内のすべてのファイルをコピーすることを指定します。

    global-dir

    コピーする広域ディレクトリのフルパスを指定します。このディレクトリは、ORACLE_HOME 環境変数が指定するディレクトリの下のクラスタファイルシステムに存在します。

    local-dir-parent

    ローカルコピーを格納するローカルノードのディレクトリを指定します。このディレクトリは、手順 1 で作成したディレクトリの親ディレクトリです。

  3. 手順 2 でコピーした広域ディレクトリを広域ディレクトリのローカルコピーへのシンボリックリンクと交換します。

    1. クラスタノードから手順 2 でコピーした広域ディレクトリを削除します。


      # rm -r global-dir
      
      -r

      ディレクトリおよびサブディレクトリとそのファイルを含むディレクトリ内のすべてのファイルを削除することを指定します。

      global-dir

      削除する広域ディレクトリのファイル名とフルパスを指定します。このディレクトリは、手順 2 でコピーした広域ディレクトリです。

    2. クラスタノードで、ディレクトリのローカルコピーから手順 a で削除した広域ディレクトリへのシンボリックリンクを作成します。


      # ln -s local-dir global-dir
      
      -s

      リンクがシンボリックリンクであることを指定します。

      local-dir

      手順 1 で作成したローカルディレクトリがリンクのソースであることを指定します。

      global-dir

      手順 a で削除した広域ディレクトリがリンクのターゲットであることを指定します。


例 1–1 ノード固有のディレクトリの作成

この例では、ノード固有のディレクトリを 2 ノードクラスタに作成するために必要な操作手順を示します。このクラスタは以下のように構成されます。

以下の操作が各ノードで実行されます。

  1. 必要なディレクトリをローカルファイルシステムに作成するには、以下のコマンドを実行します。


    # mkdir -p /local/oracle/network/agent

    # mkdir -p /local/oracle/network/log

    # mkdir -p /local/oracle/network/trace

    # mkdir -p /local/oracle/srvm/log

    # mkdir -p /local/oracle/apache
  2. ノード固有の情報を保持する広域ディレクトリのローカルコピーを作成するには、以下のコマンドを実行します。


    # cp -pr $ORACLE_HOME/network/agent /local/oracle/network/.

    # cp -pr $ORACLE_HOME/network/log /local/oracle/network/.

    # cp -pr $ORACLE_HOME/network/trace /local/oracle/network/.

    # cp -pr $ORACLE_HOME/srvm/log /local/oracle/srvm/.

    # cp -pr $ORACLE_HOME/apache /local/oracle/.

以下の操作が 1 台のノードで実行されます。

  1. 広域ディレクトリを削除するには、以下のコマンドを実行します。


    # rm -r $ORACLE_HOME/network/agent

    # rm -r $ORACLE_HOME/network/log

    # rm -r $ORACLE_HOME/network/trace

    # rm -r $ORACLE_HOME/srvm/log

    # rm -r $ORACLE_HOME/apache
  2. ローカルディレクトリから対応する広域ディレクトリへのシンボリックリンクを作成するには、以下のコマンドを実行します。


    # ln -s /local/oracle/network/agent $ORACLE_HOME/network/agent 

    # ln -s /local/oracle/network/log $ORACLE_HOME/network/log

    # ln -s /local/oracle/network/trace $ORACLE_HOME/network/trace

    # ln -s /local/oracle/srvm/log $ORACLE_HOME/srvm/log

    # ln -s /local/oracle/apache $ORACLE_HOME/apache

クラスタファイルシステム上の Oracle Parallel Server/Real Application Clusters ソフトウェアと使用するためのノード固有のファイルの作成方法

ノード固有の情報を保持するには、各ファイルで次の手順を実行します。ノード固有の情報を保持するには、一般的に以下のファイルが必要です。

ノード固有の情報の保持に必要な場合がある他のファイルについては、Oracle のマニュアルを参照してください。

  1. 各クラスタノードでノード 固有の情報を保持するファイルを格納するローカルディレクトリを作成します。


    # mkdir -p local-dir
    
    -p

    最初に存在しない親ディレクトリを作成することを指定します。

    local-dir

    作成するディレクトリのフルパス名を指定します。

  2. 各クラスタノードでノード 固有の情報を保持する広域ファイルのローカルコピーを作成します。


    # cp -p global-file local-dir
    
    -p

    所有者、グループ、アクセス権モード、変更時間、アクセス時間、およびアクセス制御リストを保持することを指定します。

    global-file

    コピーする広域ファイルのファイル名とフルパスを指定します。このファイルは、ORACLE_HOME 環境変数が指定するディレクトリの下のクラスタファイルシステムにインストールされています。

    local-dir

    ファイルのローカルコピーを格納するディレクトリを指定します。このディレクトリは、手順 1 で作成したディレクトリです。

  3. 手順 2 でコピーした広域ファイルとファイルのローカルコピーへのシンボリックリンクを交換します。

    1. クラスタノードから手順 2 でコピーした広域ファイルを削除します。


      # rm global-file
      
      global-file

      削除する広域ファイルのファイル名とフルパスを指定します。このファイルは、手順 2 でコピーした広域ファイルです。

    2. クラスタノードで、ファイルのローカルコピーから手順 a で削除した広域ファイルのディレクトリへのシンボリックリンクを作成します。


      # ln -s local-file global-dir
      
      -s

      リンクがシンボリックリンクであることを指定します。

      local-file

      手順 2 でコピーしたファイルがリンクのソースであることを指定します。

      global-dir

      手順 a でファイルの広域バージョンを削除したディレクトリがリンクのターゲットであることを指定します。


例 1–2 ノード固有のファイルの作成

この例では、ノード固有のファイルを 2 ノードクラスタに作成するために必要な操作手順を示します。このクラスタは以下のように構成されます。

以下の操作が各ノードで実行されます。

  1. ノード固有の情報を保持するファイルを格納するローカルディレクトリを作成するには、以下のコマンドを実行します。


    # mkdir -p /local/oracle/network/admin
  2. ノード固有の情報を保持する広域ファイルのローカルコピーを作成するには、以下のコマンドを実行します。


    # cp -p $ORACLE_HOME/network/admin/snmp_ro.ora \
      /local/oracle/network/admin/.

    # cp -p $ORACLE_HOME/network/admin/snmp_rw.ora \
      /local/oracle/network/admin/.

以下の操作が 1 台のノードで実行されます。

  1. 広域ファイルを削除するには、以下のコマンドを実行します。


    # rm $ORACLE_HOME/network/admin/snmp_ro.ora

    # rm $ORACLE_HOME/network/admin/snmp_rw.ora
  2. ファイルのローカルコピーから対応する広域ファイルへのシンボリックリンクを作成するには、以下のコマンドを実行します。


    # ln -s /local/oracle/network/admin/snmp_ro.ora \
      $ORACLE_HOME/network/admin/snmp_rw.ora

    # ln -s /local/oracle/network/admin/snmp_rw.ora \
      $ORACLE_HOME/network/admin/snmp_rw.ora