Oracle システムの保守を簡単にするために、Oracle バイナリファイルと Oracle 構成ファイルを共有ファイルシステムにインストールできます。次の共有ファイルシステムがサポートされています。
Sun StorEdge QFS 共有ファイルシステム
クラスタファイルシステム
Network Appliance NAS デバイス上のファイルシステム
Oracle ソフトウェアが共有ファイルシステムにインストールされている場合、ORACLE_HOME 環境変数で指定されているディレクトリ内のすべてのファイルは、すべてのクラスタノードからアクセスできます。ただし、一部の Oracle ファイルやディレクトリでは、ノード固有の情報を維持する必要があります。
Oracle ソフトウェアを共有ファイルシステムにインストールする場合は、ファイルやディレクトリのローカルコピーを作成し、そこにノード固有の情報を保持する必要があります。これらのファイルやディレクトリにすべてのクラスタノードからアクセスできるようにするためにシンボリックリンクを使用します。シンボリックリンクのターゲットは、ノード内のファイルシステム上にあるファイルやディレクトリです。このようなファイルシステムは、共有ファイルシステムの一部ではありません。
シンボリックリンクをこのような目的で使用する場合、ローカルファイルシステム上に領域を割り当てる必要があります。Oracle アプリケーションが、この領域内のファイルに対してシンボリックリンクを作成するためには、アプリケーションがこの領域内のファイルにアクセスできる必要があります。シンボリックリンクは共有ファイルシステム上に存在するため、リンクへのすべての参照は、すべてのノードで同じになります。したがって、すべてのノードが、ローカルファイルシステム上のその領域用に同じネーム空間を持つ必要があります。
次の手順は、ノード固有の情報を保持する各ディレクトリに対して実行します。以下に、ノード固有の情報の保持に必要となる典型的なディレクトリを示します。
ノード固有の情報を保持するために必要となるほかのディレクトリについては、Oracle のマニュアルを参照してください。
各クラスタノードで、ノード固有の情報を保持するためのローカルディレクトリを作成します。
作成するローカルディレクトリ構造は、ノード固有の情報を含むグローバルディレクトリ構造と一致するようにしてください。たとえば、グローバルディレクトリの /global/oracle/network/agent には、/local ディレクトリ下にローカルに格納する必要のあるノード固有の情報が含まれていることがあります。このような場合、/local/oracle/network/agent という名前のディレクトリを作成します。
# mkdir -p local-dir |
存在しない親ディレクトリをすべて最初に作成することを指定します。
作成するディレクトリのフルパス名を指定します。
各クラスタノードで、ノード固有の情報を保持するグローバルディレクトリのローカルコピーを作成します。
ノード固有の情報のローカルコピーは、手順 1 で作成したローカルディレクトリに含まれるようにしてください。
# cp -pr global-dir local-dir-parent |
所有者、グループ、許可モード、修正時刻、アクセス時刻、およびアクセス制御リストが保護されることを指定します。
ディレクトリとそのすべてのファイル (サブディレクトリとそのファイルを含む) がコピーされることを指定します。
コピーするグローバルディレクトリのフルパスを指定します。このディレクトリは、ORACLE_HOME 環境変数で指定されるディレクトリ下で、共有ファイルシステム上に存在します。
ローカルコピーを含む、ローカルノード上のディレクトリを指定します。このディレクトリは、手順 1 で作成したディレクトリの親ディレクトリです。
手順 2 でコピーしたグローバルディレクトリを、グローバルディレクトリのローカルコピーへのシンボリックリンクで置き換えます。
任意のクラスタノードから、手順 2 でコピーしたグローバルディレクトリを削除します。
# rm -r global-dir |
ディレクトリとそのすべてのファイル (サブディレクトリとそのファイルを含む) が削除されることを指定します。
削除するファイル名とグローバルディレクトリのフルパスを指定します。このディレクトリは、手順 2 でコピーしたグローバルディレクトリになります。
任意のクラスタノードで、ディレクトリのローカルコピーから、手順 a で削除したグローバルディレクトリへのシンボリックリンクを作成します。
# ln -s local-dir global-dir |
この例では、ノード固有ディレクトリを 2 ノードクラスタで作成するための操作手順を示しています。このクラスタは、以下のように構成されています。
ORACLE_HOME 環境変数は、/global/oracle ディレクトリを指定している
各ノードのローカルファイルシステムは、 /local ディレクトリ下にある
各クラスタノードで、以下の手順を実行します。
次のコマンドを実行して、必要なディレクトリをローカルファイルシステムに作成します。
# 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 |
次のコマンドを実行して、ノード固有の情報を保持するグローバルディレクトリのローカルコピーを作成します。
# 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 つのノードでのみ実行します。
次のコマンドを実行して、グローバルディレクトリを削除します。
# 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 |
次のコマンドを実行して、ローカルディレクトリから、対応するグローバルディレクトリへのシンボリックリンクを作成します。
# 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 のマニュアルを参照してください。
各クラスタノードで、ノード固有の情報を保持するファイルを含むローカルディレクトリを作成します。
# mkdir -p local-dir |
存在しない親ディレクトリをすべて最初に作成することを指定します。
作成するディレクトリのフルパス名を指定します。
各クラスタノードで、ノード固有の情報を保持するグローバルファイルのローカルコピーを作成します。
# cp -p global-file local-dir |
所有者、グループ、許可モード、修正時刻、アクセス時刻、およびアクセス制御リストが保護されることを指定します。
コピーするファイル名とグローバルファイルのフルパスを指定します。このファイルは、ORACLE_HOME 環境変数で指定されるディレクトリ下で、共有ファイルシステム上にインストールされています。
ファイルのローカルコピーを含むディレクトリを指定します。このディレクトリは、手順 1 で作成したディレクトリになります。
手順 2 でコピーしたグローバルファイルを、そのファイルのローカルコピーへのシンボリックリンクで置き換えます。
この例では、ノード固有ファイルを 2 ノードクラスタで作成するための操作手順を示しています。このクラスタは、以下のように構成されています。
ORACLE_HOME 環境変数は、/global/oracle ディレクトリを指定している
各ノードのローカルファイルシステムは、 /local ディレクトリ下にある
各クラスタノードで、以下の手順を実行します。
次のコマンドを実行して、ノード固有の情報を保持するファイルを含むローカルディレクトリを作成します。
# mkdir -p /local/oracle/network/admin |
次のコマンドを実行して、ノード固有の情報を保持するグローバルファイルのローカルコピーを作成します。
# 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 つのノードでのみ実行します。
次のコマンドを実行して、グローバルファイルを削除します。
# rm $ORACLE_HOME/network/admin/snmp_ro.ora |
# rm $ORACLE_HOME/network/admin/snmp_rw.ora |
次のコマンドを実行して、ファイルのローカルコピーから、対応するグローバルファイルへのシンボリックリンクを作成します。
# 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 |
「Oracle Real Application Clusters データベースインスタンスの起動と停止の自動化」に進みます。