この章では、既存のOracle Clusterwareホームをクローニングし、それを使用して新規クラスタを作成する方法や、同一のクラスタ上の新規ノードにOracle Clusterwareを拡張する方法について説明します。クローニングは、サイレント・モードでスクリプトを使用して行います。
この章で説明するクローニング手順は、Linux、UNIXおよびWindowsシステムに適用できます。この章の例ではLinuxおよびUNIXのコマンドを使用しますが、クローニングの概念および手順は、すべてのプラットフォームに適用されます。Windowsプラットフォームの場合は、例またはコマンドをWindows固有のものに調整する必要があります。
内容は次のとおりです。
クローニングとは、既存のOracleインストールを別の場所にコピーし、その後、コピーしたインストールを新しい環境で動作するよう更新するプロセスです。クローニング元のOracleホームに適用済の個別パッチによる変更は、クローニング操作の後も継承されます。クローニング中には、Oracle Clusterwareホームのインストールで実行された操作を再実行するスクリプトを実行します。
クローニングには、正常にインストールされたOracle Clusterwareホームを使用することが必要です。これを、Oracle Clusterwareホームを拡張するスクリプト実装のベースにして、新規クラスタを作成したり、Oracle Clusterware環境を同一のクラスタ内にある複数のノードに拡張します。クローニング・スクリプトを手動で作成すると、入力を検証する対話形式のチェックを使用せずにスクリプトを準備する必要があるため、エラーが発生しやすくなる場合があります。ただし、数十または数百のクラスタに対して単一スクリプトを実行するような場合には、この最初の作業は意味があります。インストールするクラスタが1つのみの場合は、Oracle Universal InstallerまたはOracle Enterprise ManagerのProvisioning Pack機能など、従来の自動化された対話形式のインストール方法を使用してください。
注意: クローニングは、Provisioning Packの一部であるOracle Enterprise Managerクローニングの代替機能ではありません。Oracle Enterprise Managerクローニングでは、プロビジョニング・プロセスによってOracleホームの詳細(クローンのデプロイメント先、Oracle Databaseホームの名前、クラスタ内のノードのリストなど)が対話形式で確認されることで、処理が単純化されています。Oracle Enterprise Manager Grid ControlのProvisioning Pack機能では、新規ノードおよびクラスタのプロビジョニングを自動化するフレームワークが提供されています。多数のクラスタを持つデータ・センターの場合、既存のクラスタに新規クラスタおよび新規ノードをプロビジョニングするためのクローニング手順を作成する作業は、その労力に見合った価値があります。 |
次のリストに、クローニングが有効ないくつかの状況を示します。
クローニングにより、Oracle Clusterwareホームを1回準備するだけで、それを多数のホストにデプロイできる方法が提供されます。非対話形式のプロセスとして、サイレント・モードでインストールを完了できます。グラフィカル・ユーザー・インタフェース(GUI)のコンソールを使用する必要がなく、必要に応じて、セキュア・シェル(SSH)端末セッションからクローニングを実行できます。
クローニングにより、すべてのパッチが適用された新規インストール(本番、テスト、または開発用インストールのコピー)を1回の手順で作成できます。ベース・インストールを実行してソース・システムにすべてのパッチ・セットとパッチを適用した後は、クローニングにより、それらの個別の手順はすべて単一の手順で実行されます。これにより、クラスタの各ノードですべてのインストール・プロセスを通して行い、インストール、構成およびパッチ適用を個別の手順で実行するのとは、対照的な効果が得られます。
クローニングによるOracle Clusterwareのインストールでは、非常に短時間で処理を完了できます。たとえば、3つ以上のノードを持つ新規クラスタにOracle Clusterwareホームをクローニングする場合、必要な時間は、Oracleソフトウェアのインストールにかかる数分間と各ノードにかかる数分間を合わせた時間(合計時間はroot.sh
スクリプトの実行にかかる時間とほぼ等しい)となります。
クローニングでは、複数のクラスタで同一のOracle Clusterwareインストールを繰り返すための確実な方法が提供されます。
クローニングされたインストールは、クローニング元のインストールと同じ動作をします。たとえば、クローニングされたOracle Clusterwareホームは、Oracle Universal Installerを使用して削除したり、OPatchを使用してパッチを適用することができます。また、クローニングされたOracle Clusterwareホームを、別のクローニング操作のソースとして使用できます。コマンドラインのクローニング・スクリプトを使用して、テスト用、開発用または本番用のインストールをクローニングしたコピーを作成できます。多くの場合、デフォルトのクローニング手順で十分です。さらに、カスタム・ポート割当ての指定や、カスタム設定の保存など、クローニングの様々な側面をカスタマイズすることもできます。
クローニング・プロセスでは、クローニング元のOracle Clusterwareホームからクローニング先のOracle Clusterwareホームにすべてのファイルをコピーします。したがって、ソース・インスタンスで使用されているファイルの中で、クローニング元のOracle Clusterwareホームのディレクトリ構造の外部に置かれているものがある場合、それはクローニング先にコピーされません。
クローニング元とクローニング先にあるバイナリ・ファイルはクローニング操作の一環として再リンクされるため、これらのバイナリ・ファイルのサイズは異なる場合があります。また、オペレーティング・システムのパッチ・レベルも、この2つの場所で異なる場合があります。また、クローニング元からコピーされたいくつかのファイル(具体的にはインスタンス化されているファイル)はクローニング操作の一環としてバックアップされるため、クローニング先のホーム内のファイル数は増加します。
クローニング元のOracle Clusterwareホームでクローニングを準備するには、1つ以上のノードでクローニング手順を実行する際に使用するインストール済のOracle Clusterwareホームのコピーを作成します。
次の段階ごとの手順に従って、Oracle Clusterwareホームのコピーを準備します。
手順1 Oracle Clusterwareのインストール
プラットフォーム固有のOracle Clusterwareインストレーション・ガイドの詳細指示に従って、ソース・ノードで、次の手順を実行します。
Oracle Clusterware 11gリリース1(11.1)をインストールします。
必要に応じて、適切なパッチ(11.1.0.nなど)をインストールします。
必要に応じて、個別パッチを適用します。
手順2 Oracle Clusterwareの停止
クローニング元のOracle Clusterwareホームをコピーする前に、crsctl stop crs
コマンドを使用してOracle Clusterwareを停止します。次の例では、停止中に表示されるコマンドおよびメッセージを示します。
[root@node1 root]# crsctl stop crs Stopping resources. This could take several minutes. Successfully stopped Oracle Clusterware resources Stopping Cluster Synchronization Services. Shutting down the Cluster Synchronization Services daemon. Shutdown request successfully issued.
1つのノードからのみOracle Clusterwareホームをコピーするようにしてください。
手順3 Oracle Clusterwareホームのコピーの作成
インストールしたOracle Clusterwareホームを作業ホームとして保持するために、クローニング元のOracle Clusterwareホームの全体コピーを作成します。Oracle Clusterwareホームには、ソース・ノードにのみ関連するファイルが含まれているため、コピーから不要なファイルを任意に削除できます。
注意: コピーの作成時には、ファイル名にリリース番号を含めることをお薦めします。 |
次のいずれかの方法を使用して、Oracle Clusterwareホームの圧縮コピーを作成します。
方法1: Oracle Clusterwareホームのコピーを作成し、そのコピーから不要なファイルを削除する
ソース・ノードで、Oracle Clusterwareホームのコピーを作成します。インストールしたOracle Clusterwareホームを作業ホームとして保持するために、クローニング元のOracle Clusterwareホームの全体コピーを作成し、そのコピーから不要なファイルを削除します。たとえば、Linuxシステムでは、root
ユーザーとしてcp
コマンドを実行します。
cp -prf CRS_HOME location_of_the_copy_of_CRS_HOME
コピーから不要なファイルを削除します。
Oracle Clusterwareホームには、ソース・ノードにのみ関連するファイルが含まれているため、コピーからlog
、crs/init
、racg/dump
、srvm/log
およびcdata
ディレクトリにある不要なファイルを削除できます。次に、LinuxおよびUNIXシステムでOracle Clusterwareホームのコピーから不要なファイルを削除する場合に実行できるコマンドの例を示します。
[root@node1 root]# cd /opt/oracle/product/11g/crs
[root@node1 crs]# rm –rf ./opt/oracle/product/11g/crs/log/hostname
[root@node1 crs]# find . -name '*.ouibak' -exec rm {} \;
[root@node1 crs]# find . -name '*.ouibak.1' -exec rm {} \;
[root@node1 crs]# rm –rf root.sh*
[root@node1 crs]# cd cfgtoollogs
[root@node1 cfgtoollogs]# find . -type f -exec rm -f {} \;
LinuxおよびUNIXシステムではtarまたはgzipを、WindowsシステムではWinZipを使用して、前述のコピー済Oracle Clusterwareホームの圧縮コピーを作成します。使用するツールによって、権限およびファイル・タイムスタンプが保持されることを確認してください。次に例を示します。
LinuxおよびUNIXシステムの場合:
[root@node1 root]# cd /opt/oracle/product/11g/crs/
[root@node1 crs]# tar –zcvf /pathname/crs11101.tgz .
この例では、cd
コマンドでOracle Clusterwareホームの場所を変更し、tar
コマンドでcrs11101.tgz
というコピーを作成します。tar
コマンドで、pathname
変数はファイルの場所を表します。
AIXまたはHPUXシステムの場合は、次のコマンドを発行します。
tar cpf - . | compress -fv > temp_dir/crs11101.tar.Z
Windowシステムでは、WinZipを使用してzipファイルを作成します。
方法2: –Xオプションを使用してOracle Clusterwareホームの圧縮コピーを作成する
Oracle Clusterwareホーム内の不要なファイルを示すファイルを作成します。たとえば、excludeFileList
というファイルに、ワイルド・カード(*)を使用して次のファイル名を示します。
./opt/oracle/product/11g/crs/log/hostname
./opt/oracle/product/11g/crs/root.sh*
tar
コマンドまたはWinzipを使用して、Oracle Clusterwareホームの圧縮コピーを作成します。たとえば、LinuxおよびUNIXシステムでは、次のコマンドを実行して、クローニング元のOracle Clusterwareホームをアーカイブおよび圧縮します。
tar cpfX - excludeFileList . | compress -fv > temp_dir/crs11101.tar.Z
注意: Oracle Clusterwareホームをコピーおよび圧縮するために、jarユーティリティは使用しないでください。 |
手順4 Oracle Clusterwareホームのコピーからの不要ファイルの削除
Oracle Clusterwareホームには、ソース・ノードにのみ関連するファイルが含まれているため、コピーから不要なファイルを削除する必要があります。log
、crs/init
、racg/dump
、srvm/log
およびcdata
ディレクトリ内のファイルを除外します。
バックアップ・ファイルからファイルを除外するには、次の方法のいずれかを使用します。
クローニング元のOracle Clusterwareホームのコピーを作成し、そのコピーから不要なファイルを削除します。
次の例では、Oracle Clusterwareホームのコピーから不要なファイルを削除するために実行できるコマンドを示します。
[root@node1 root]# cd /opt/oracle/product/11g/crs
[root@node1 crs]# rm –rf ./opt/oracle/product/11g/crs/log/hostname
[root@node1 crs]# find . -name '*.ouibak' -exec rm {} \;
[root@node1 crs]# find . -name '*.ouibak.1' -exec rm {} \;
[root@node1 crs]# rm –rf ./cdata/*
[root@node1 crs]# rm –rf root.sh*
[root@node1 crs]# cd cfgtoollogs
[root@node1 cfgtoollogs]# find . -type f -exec rm -f {} \;
excludeFileList
ファイルを作成し、次に、tar
コマンドまたはWinzipを使用して、Oracle Clusterwareホームのコピーを作成します。たとえば、Linuxではtar cpfX - excludFileList.txt
コマンドを実行すると、不要なファイルを除外しないtarファイルを作成できます。
手順5 クローニング元のOracle Clusterwareホームのコピーの作成
LinuxおよびUNIXシステムではtarまたはgzipを、WindowsシステムではWinZipを使用して、Oracle Clusterwareホームのコピーをソース・ノードに作成します。使用するツールによって、権限およびファイル・タイムスタンプが保持されることを確認してください。
コピーの作成時には、ファイル名にあるリリース番号を含めることをお薦めします。たとえば、次のLinuxの例では、cd
コマンドを使用してOracle Clusterwareホームの場所を変更し、その後tar
コマンドを使用してcrs11101.tgz
という名前のコピーを作成します。
次の例では、クローニング元のOracle Clusterwareホームを様々なプラットフォームでアーカイブし圧縮する方法を示します。
LinuxおよびUNIXシステムでexcludeFileList
ファイルを使用している場合は、次のコマンドを実行します。
tar cpfX - excludeFileList . | compress -fv > temp_dir/crs11101.tar.Z
次の例では、excludeFileList
ファイルを使用していない場合に、コピーを作成するLinuxおよびUNIXコマンドを示します。tar
コマンドで、pathname
変数はファイルの場所を表します。
[root@node1 root]# cd /opt/oracle/product/11g/crs/
[root@node1 crs]# tar –zcvf /pathname/crs11101.tgz .
AIXまたはHPUXシステムの場合は、次のコマンドを発行します。
tar cpf - . | compress -fv > temp_dir/crs11101.tar.Z
Windowシステムでは、WinZipを使用してzipファイルを作成します。
注意: Oracle Clusterwareホームをコピーおよび圧縮するために、jarユーティリティは使用しないでください。 |
この項では、正常にインストールされたOracle Clusterware環境をクローニングし、それをクローニング先のクラスタ上のノードにコピーすることにより、新規クラスタを作成する方法を説明します。この項で示している手順は、Linux、UNIXおよびWindowsシステムでのクローニングの使用方法を説明しています。
たとえば、クローニングを使用すると、正常にインストールされたOracle Clusterware環境を迅速に複製して、新規クラスタを作成できます。図3-1では、クローニング手順の最終結果を示しています。ここでは、ノード1上のOracle Clusterwareホームがクラスタ2上のノード2およびノード3にクローニングされ、クラスタ2が新規の2ノード・クラスタとして作成されています。
高度なレベルで、クローニングにより新規クラスタを作成する手順は次のとおりです。
手順1 新規クラスタ・ノードの準備
各宛先ノードで、次のインストール前の手順を実行します。
カーネル・パラメータを指定します。
Oracle Clusterwareデバイス用のブロック・デバイスを構成します。
ブロック・デバイスの権限が正しく設定されていることを確認します。
Hostsファイル内のすべての名前には、短い非ドメイン修飾の名前を使用します。
ping
コマンドを使用して、インターコネクト・インタフェースが到達可能かどうかをテストします。
ping
コマンドを使用して、クローニング・プロセスの開始時にVIPアドレスがアクティブでないことを検証します(VIPアドレスのping
コマンドは失敗する必要があります)。
インストール前の全チェックリストは、ご使用のプラットフォーム固有のOracle Clusterwareインストレーション・ガイドを参照してください。
注意: 従来のインストール方法とは異なり、クローニング・プロセスでは、準備フェーズ中に入力が検証されません。(これと比較して、Oracle Universal Installerを使用した従来のインストール方法では、インタビュー・フェーズ中に様々なチェックが実行されます。)したがって、ハードウェア設定または準備フェーズ中にミスをすると、クローニング・インストールは失敗します。 |
手順2 Oracle Clusterwareの宛先ノードへのデプロイ
この項で説明しているクローニング手順を開始する前に、Oracle Clusterwareホームのコピーを作成するための必須タスクを完了していることを確認してください(「Oracle Clusterwareホームをクローニングするための準備」を参照)。
次の手順を実行して、各宛先ノードにOracle Clusterwareホームのコピーをデプロイします。
Oracle Clusterwareホームが共有ホームでない場合、ソース・ノードのOracle Clusterwareホームが存在するディレクトリ構造と同じディレクトリ構造として、宛先クラスタの各ノード上にOracle Clusterwareホームのコピーをリストアします。Oracle Clusterwareホームが共有ホームの場合、この手順はスキップします。
次に例を示します。
LinuxまたはUNIXシステムで、次のようなコマンドを実行します。
[root@node1 root]# mkdir -p /opt/oracle/product/11g/crs
[root@node1 root]# cd /opt/oracle/product/11g/crs
[root@node1 crs]# tar –zxvf /pathname
/crs11101.tgz
この例で、pathname
変数はOracle Clusterwareホームのインストール先のディレクトリ構造を表します。
Windowsシステムの場合は、ソース・ノードのOracle Clusterwareホームが存在するディレクトリ構造と同じディレクトリ構造に、宛先ノードのOracle Clusterwareホームを解凍します。
すべてのファイルの所有権をoracle
:oinstall
グループに変更し、Oracleインベントリ用のディレクトリを作成します。たとえば、Linuxシステムでは次のコマンドを発行します。
[root@node1 crs]# chown –R oracle:oinstall /opt/oracle/product/11g/crs [root@node1 crs]# mkdir -p /opt/oracle/oraInventory [root@node1 crs]# chown oracle:oinstall /opt/oracle/oraInventory
各ターゲット・ノードのCRS_Home/install
ディレクトリでpreupdate.sh
スクリプトを実行します。次に例を示します。
@ preupdate.sh -crshome target_crs_oh -crsuser user_who_runs_cloning -noshutdown
手順3 各宛先ノードでのclone.plスクリプトの実行
新しいOracle Clusterware環境を設定する場合、clone.pl
スクリプトではいくつかの設定値の指定が必要となります。変数を指定するには、clone.pl
スクリプトの実行時に入力値を指定するか、またはファイルを作成してそこでクローン変数に値を割り当てるかのいずれかの方法があります。次の説明では、これらの方法を示します。
コマンドライン上で clone.pl
スクリプトの入力値を指定する
Oracle Clusterwareホームが共有ホームでない場合は、各宛先ノードで$ORACLE_HOME/clone/bin
ディレクトリに移動し、clone.pl
スクリプトを実行します。これにより、Oracle Clusterwareクローニングの主なタスクが実行されます。スクリプトを実行するには、多数の変数に対する入力値を指定する必要があります。
注意: Oracleベースの指定がOracle Clusterwareのインストール要件ではない場合であっても、clone.pl スクリプトを使用したOracle Clusterwareのクローニング時には、ORACLE_BASE 変数の値を設定する必要があります。指定した値は無視されるため、ORACLE_BASE 変数は、任意のディレクトリ位置(Oracle Clusterwareホームの場所など)に設定できます。 |
次に例を示します。
LinuxおよびUNIXシステムの場合:
perl clone.pl ORACLE_BASE=/opt/oracle ORACLE_HOME=CRS_home ORACLE_HOME_ NAME=CRS_HOME_NAME '-On_storageTypeVDSK=2' '-On_storageTypeOCR=2' '-O"sl_tableList={node2:node2-priv:node2-vip, node3:node3-priv:node3-vip}"' '-O"ret_PrivIntrList=private_interconnect_list"' -O's_votingdisklocation=voting_disk1' -O's_OcrVdskMirror1RetVal=voting_disk2' -O's_VdskMirror2RetVal=voting_disk3' "-O's_ocrpartitionlocation=OCR_loc' -O's_ocrMirrorLocation=OCRMirror_loc'" -O'INVENTORY_LOCATION=oraInventory_loc' -O'-noConfig'
Windowsシステムの場合:
perl clone.pl ORACLE_BASE=D:\oracle ORACLE_HOME=CRS_home ORACLE_HOME_ NAME=CRS_HOME_NAME '-On_storageTypeVDSK=2' '-On_storageTypeOCR=2' '-O"sl_tableList={node2:node2-priv:node2-vip, node3:node3-priv:node3-vip}"' '-O"ret_PrivIntrList=private_interconnect_list"' '-O"sl_OHPartitionsAndSpace_valueFromDlg={partition and space information}"' -O'-noConfig'
前述の例に示す様々な変数の詳細は、表3-1および表3-2を参照してください。
Oracle Clusterwareホームが共有ホームの場合は、この手順のコマンド例に-cfs
オプションを追加し、クラスタ・ファイル・システムの完全なパス位置を指定します。変数n_storageTypeOCR
およびn_storageTypeVDSK
が、冗長化された記憶域では2に、冗長化されていない記憶域では1に設定されていることを確認します。この場合、ミラーの位置も指定する必要があります。
Windowsプラットフォームでは、他のすべてのノードで、PERFORM_PARTITION_TASKS=FALSE
引数を追加することによって、同じコマンドを実行します。
次に例を示します。
perl clone.pl ORACLE_BASE=/opt/oracle ORACLE_HOME=CRS_home ORACLE_HOME_NAME=CRS_home_name '-On_storageTypeVDSK=2' '-On_storageTypeOCR=2' '-O"sl_tableList={node2:node2-priv:node2-vip, node3:node3-priv:node3-vip}"' '-O"ret_PrivIntrList=private interconnect list"' '-O"sl_OHPartitionsAndSpace_valueFromDlg={partition and space information}"' -O'-noConfig' PERFORM_PARTITION_TASKS=FALSE
ファイル内でclone.pl
スクリプトの入力値を指定する
clone.pl
スクリプトはそこに渡されるパラメータに依存するため、括弧、一重引用符および二重引用符は正確に使用する必要があります。clone.plスクリプト実行でのエラーの発生を少なくするために、start.sh
スクリプトに類似したファイルを作成(例3-1を参照)して、そこでclone.pl
スクリプトに対する環境変数およびクローニング・パラメータを指定できます。
例3-1に、start.sh
スクリプトというファイルの例からの抜粋を示します。このスクリプトでは、clone.pl
スクリプトをコールし、crscluster
というクラスタに対する設定がされています。Oracle Clusterwareをインストールしたオペレーティング・システム・ユーザーとして、このスクリプトを起動します。
例3-1 Oracle Clusterwareをクローニングするstart.shスクリプトの抜粋
#!/bin/sh ORACLE_BASE=/opt/oracle CRS_home=/opt/oracle/product/11g/crs E01=CRS_home=/opt/oracle/product/11g/crs E02=ORACLE_HOME=${CRS_home} E03=ORACLE_HOME_NAME=OraCrs11g E04=ORACLE_BASE=/opt/oracle #C00="-O'-debug'" C01="-O's_clustername=crscluster'" C02="-O'INVENTORY_LOCATION=/opt/oracle/oraInventory'" C03="-O'sl_tableList={node1:node1int:node1vip:N:Y,node2:node2int:node2vip:N:Y}'" C04="-O'ret_PrivIntrList={eth0:144.25.212.0:1,eth1:10.10.10.0:2}'" C05="-O'n_storageTypeVDSK=1'" C06="-O's_votingdisklocation=/dev/sdc1' -O's_OcrVdskMirror1RetVal=/dev/sdd1' -O's_VdskMirror2RetVal=/dev/sde1'" C07="-O'n_storageTypeOCR=1'" C08="-O's_ocrpartitionlocation=/dev/sdc2' -O's_ocrMirrorLocation=/dev/sdd2'" perl CRS_home/clone/bin/clone.pl $E01 $E02 $E03 $E04 $C01 $C02 $C03 $C04 $C05 $C06 $C07 $C08
start.sh
スクリプトでは、表3-1と表3-2にそれぞれ示すように、いくつかの環境変数およびクローニング・パラメータが設定されます。
表3-1は、例3-1に太字で示されている環境変数E01、E02、E03およびE04を説明しています。
記号 | 変数 | 説明 |
---|---|---|
E01 |
Oracle Clusterwareホームの場所。このディレクトリ位置は存在している必要があり、Oracleオペレーティング・システム・グループの |
|
E02 |
Oracle Clusterwareホームの場所。このディレクトリ位置は存在している必要があり、Oracleオペレーティング・システム・グループの |
|
E03 |
Oracle Clusterwareホームの名前。これは、Oracleインベントリに格納されます。 |
|
E04 |
Oracleベース・ディレクトリの場所。 |
また、例3-1に太字で示されているC01からC08までのクローニング・パラメータの詳細は、「クローニング・スクリプト変数のリファレンス」を参照してください。
手順4 各ノードでのorainstRoot.shスクリプトの実行
Oracle Clusterwareをインストールしたオペレーティング・システム・ユーザーとして、各宛先ノード上のCentral InventoryディレクトリでorainstRoot.sh
スクリプトを実行します。このスクリプトは、/etc/oraInst.loc
ディレクトリに中央インベントリの場所を移入します。
各ノードで同時にこのスクリプトを実行できます。次に例を示します。
[root@node1 root]# /opt/oracle/oraInventory/orainstRoot.sh
次の手順に進む前に、各宛先ノードでorainstRoot.sh
スクリプトが完了していることを確認します。
各宛先ノードで、CRS_home
/root.sh
スクリプトを実行します。一度に1つのノードでのみスクリプトを実行できます。LinuxまたはUNIXシステムの例を次に示します。
最初のノードで、次のコマンドを実行します。
[root@node1 root]# /opt/oracle/product/11g/crs/root.sh
最初のノードでCRS_home
/root.sh
スクリプトが完了していることを確認してから、2つ目のノードでこれを実行します。
以降の各ノードで、次のコマンドを実行します。
[root@node2 root]# /opt/oracle/product/11g/crs/root.sh
root.sh
スクリプトにより、OCR内のグローバル・サービス・デーモン(GSD)、Oracle Notification Services(ONS)、および仮想IP(VIP)リソースのノード・アプリケーションが自動的に設定されます。
手順6 Configuration AssistantおよびOracle Cluster Verifyユーティリティの実行
各ノードにおけるOracle Clusterwareのインストールの最後に、CRS_home/cfgtoollogs/configToolAllCommands
ファイルのコマンドを使用してConfiguration AssistantおよびCVUを実行します。
たとえば、クローニングを使用すると、正常にインストールされたOracle Clusterware環境を、同じクラスタ内のより多数のノードに迅速に拡張できます。図3-2では、クローニング手順の最終結果を示しています。ここでは、ノード1上のOracle Clusterwareホームが同じクラスタ内のノード2にクローニングされたことで、2ノード・クラスタが構成されています。
高度なレベルで、Oracle Clusterwareを複数のノードに拡張する手順は、「Oracle Clusterwareのクローニングによる新規クラスタ作成」で説明している手順とほぼ同様です。
次のリストに、Oracle Clusterwareをクラスタ内の追加ノードに拡張する場合の実行手順を示します。
各宛先ノードでclone.pl
スクリプトを実行します。LinuxまたはUNIXシステムの例を次に示します。
perl clone.pl ORACLE_BASE=/opt/oracle ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_ NAME=Oracle_home_name "sl_tableList={node2:node2_priv:node2-vip}" INVENTORY_LOCATION=central_inventory_location -noConfig
Windowsシステムの例を次に示します。
perl clone.pl ORACLE_BASE=D:\oracle ORACLE_HOME=CRS_HOME ORACLE_HOME_name=CRS_HOME_name '-O"sl_tableList={node2:node2-priv:node2-vip}"' '-O-noConfig' '-OPERFORM_PARTITION_TASKS=FALSE'
各宛先ノード上の各ノードでorainstRoot.shスクリプトを実行します。
ソース・ノードでaddNode
スクリプトを実行します。
ソース・ノードで次のコマンドを実行します。ここで、new_node
は新規ノードの名前、new_node-priv
は新規ノードのプライベート・インターコネクト・プロトコル・アドレス、new_node-vip
は新規ノードの仮想インターコネクト・プロトコル・アドレスです。
$ORACLE_HOME/oui/bin/addNode.sh –silent "CLUSTER_NEW_NODES={new_nodes}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={new_node-priv}" "CLUSTER_NEW_VIRTUAL_ HOSTNAMES={new_node-vip}" –noCopy
注意: clone.pl スクリプトはすでに新規ノードで実行されているため、この手順ではノード上のインベントリの更新とローカル・ノード上のスクリプトのインスタンス化のみが実行されます。 |
ソース・ノードで、スクリプトを実行してノードをインスタンス化します。
LinuxおよびUNIXシステムでは、root
ユーザーとしてCRS_HOME
/install
ディレクトリからrootaddnode.sh
スクリプトを実行します。
Windowsシステムでは、%
CRS_HOME%\install
ディレクトリからcrssetup.add.bat
スクリプトを実行します。
LinuxおよびUNIX環境では、各宛先ノードでCRS_home/root.shスクリプトを実行します。
Configuration AssistantおよびCLUVFYユーティリティを実行します。
クラスタのソース・ノード上のクラスタウェアを所有するユーザーとして、次の手順で示すように、Configuration Assistantを実行します。ターゲット・ノードの$
CRS_HOME
/cfgtoollogs/configToolAllCommands
ファイルからリモート・ポートを取得できます。
LinuxまたはUNIXシステムでは、次のonsconfig
コマンドを実行します。
onsconfig add_config node2:remote_port node3:remote_port
Windowsシステムでは、次のonsconfig
コマンドを実行します。
./onsconfig add_config node2:remote_port node3:remote_port
Linux、UNIXまたはWindowsシステムで、インストール後の検証モードでCLUVFYユーティリティを実行し、Oracle Clusterwareが正常にインストールされたことを確認します。次に例を示します。
CRS_HOME/bin/cluvfy stage -post crsinst -n node1,node2
表3-2では、コマンドに-O
オプションを含めた場合にclone.pl
スクリプトに渡すことができる変数を示しています。
表3-2 -Oオプションを含むclone.plスクリプトの変数
変数 | データ型 | 説明 |
---|---|---|
|
文字列 |
この変数には、クローニング操作によって作成するクラスタの一意の名前となる値を設定します。最大15文字までを使用します。クラスタ名に使用可能な文字は、アルファベット文字のAからZまでの大文字および小文字、数字の0から9、ハイフン(-)、シャープ記号(#)およびアンダースコア(_)の任意の組合せです。 |
|
インベントリの場所。このディレクトリ位置は存在している必要があり、Oracleオペレーティング・システム・グループの |
|
|
文字列リスト |
クラスタを構成するノードのリスト。書式は、 この変数の値は、クラスタ構成情報の表内の情報と等しくなるように設定します。このファイルには、値のカンマ区切りのリストが含まれます。1番目のフィールドはパブリック・ノード名を示し、2番目のフィールドはプライベート・ノード名を示し、3番目のフィールドは仮想ホスト名を示します。4番目と5番目のフィールドはOracle Universal Installerによってのみ使用され、デフォルトは {"node1:node1-priv:node1-vip:N:Y","node2:node2-priv:node2-vip:N:Y"}. |
|
文字列リスト |
これは、「プライベート・インターコネクトの使用」表からの戻り値です。この変数の値は、
次に例を示します。
|
|
整数 |
次を使用する場合:
|
|
整数 |
次を使用する場合:
|
|
文字列 |
この変数には、ユーザーが入力したクラスタ名の情報が含まれます。最大15文字まで使用できます。 |
|
文字列 |
この変数は、Oracle Cluster Registry(OCR)ダイアログでは不要です。 |
|
文字列 |
この変数は、インストールの際に指定したものと同じクラスタ構成ファイルの情報を渡すために使用します。 node1 node1-priv node1-vip node2 node2-priv node2-vip 既存のインストールからクローニングする場合は、 |
|
文字列 |
この変数の値には、投票ディスクの場所を設定します。次に例を示します。 /oradbshare/oradata/vdisk 次を使用する場合: |
|
文字列 |
この変数の値には、最初の追加投票ディスクの場所を設定します。 /oradbshare/oradata/vdiskmirror1 |
|
文字列 |
この変数の値には、OCRの場所を設定します。この値は、 /oradbshare/oradata/ocr 次を使用する場合:
|
|
文字列 |
この変数の値には、OCRミラーの位置の値を設定します。この値は、 /oradbshare/oradata/ocrmirror |
|
文字列 |
この変数の値には、2番目の追加投票ディスクの場所を設定します。 /oradbshare/oradata/vdiskmirror2 |
|
文字列リスト |
この変数の値は、インストール用に選択したクラスタ・ノード名を表します。たとえば、 CLUSTER_NODES = {"node1"} |
|
ブール |
この変数は、レスポンス・ファイルを使用してサイレント・インストールを実行している場合にのみ設定します。有効な値は、 |
|
文字列リスト |
この変数の値は、次の書式を使用して設定します。
たとえば、OCRおよび投票ディスクをRAWデバイス上で構成し、データまたはソフトウェアのいずれに対してもクラスタ・ファイル・システムを使用しない場合は、 sl_OhPartitionsAndSpace_valueFromDlg = {Disk,Partition,partition size, 0,N/A,1,Disk,Partition, partition size,0,N/A,2,.....) |
クローニング・スクリプトによって複数のツールが実行され、それぞれが固有のログ・ファイルを生成する場合があります。clone.pl
スクリプトの実行が終了した後では、ログ・ファイルを参照してクローニング・プロセスの詳細を取得できます。
クローニング中に生成される次のログ・ファイルは、診断の目的で主に使用されるログ・ファイルです。
Central_Inventory
/logs/cloneActions timestamp.log
クローニングのOracle Universal Installer部分で行われたアクションの詳細ログが含まれます。
Central_Inventory
/logs/oraInstall timestamp.err
Oracle Universal Installerの実行中に発生したエラーに関する情報が含まれます。
Central_Inventory
/logs/oraInstall timestamp.out
Oracle Universal Installerにより生成されたその他のメッセージが含まれます。
$ORACLE_HOME/clone/logs/clone timestamp.log
クローニング前およびクローニング操作中に行われたアクションの詳細ログが含まれます。
$ORACLE_HOME/clone/logs/error timestamp.log
クローニング前およびクローニング操作中に発生したエラーに関する情報が含まれます。
表3-3は、Oracleインベントリ・ディレクトリの場所の検索方法を示しています。