この手順では、クラスタにノードを追加する方法について説明します。この手順では、次の項目を前提としています。
node1およびnode2という2つのノードを持つクラスタが存在する
DHCPおよびグリッド・ネーミング・サービス(GNS)を使用していない場合は、node3-vipという仮想ノード名を使用して、IPアドレスに解決される、node3という名前のノードを追加する
Oracle Clusterwareがnode1およびnode2のローカルの非共有ホームにインストールされており、Grid_homeは正常にインストールされたホームを表す
クラスタ環境内で1つ以上のノードにOracle Clusterwareを正常にインストールしていることを確認します。次の手順を実行するには、Grid_homeが、正常にインストールされたOracle Clusterwareホームを指している必要があります。
関連項目:
Oracle Clusterwareのインストール手順については、『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。
クラスタおよびnode3の整合性を検証します。
$ cluvfy stage -pre nodeadd -n node3 [-fixup] [-verbose]
検証が失敗した場合、クラスタまたはノードの修正を試行するための-fixupオプションを指定できます。
Oracle Grid Infrastructureホームをnode3に拡張するには、node1のGrid_home/addnodeディレクトリに移動して、Oracle Clusterwareをインストールしたユーザーとしてaddnode.shスクリプトを実行します。
addnode.shを相互モードで実行するには、Grid_home/addnodeからaddnode.shを実行します。
Oracle Clusterwareの標準クラスタおよびOracle Flex Clusterでは、サイレント・モードでaddnode.shを実行することもできます。
Oracle Clusterwareの標準クラスタの場合:
./addnode.sh -silent "CLUSTER_NEW_NODES={node3}" "CLUSTER_NEW_VIRTUAL_
HOSTNAMES={node3-vip}"
Oracle Flex Clusterにnode3を追加する場合、コマンドラインで次のようにノード・ロールを指定できます。
./addnode.sh -silent "CLUSTER_NEW_NODES={node3}" "CLUSTER_NEW_VIRTUAL_
HOSTNAMES={node3-vip}" "CLUSTER_NEW_NODE_ROLES={hub}"
注意:
ハブ・ノードには常にVIPがありますが、リーフ・ノードにはない場合があります。前述の構文を使用して複数のノードをクラスタに追加する場合、node3がハブ・ノードでnode4がリーフ・ノードである次のような構文を使用できます。
./addnode.sh -silent "CLUSTER_NEW_NODES={node3,node4}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={node3-vip,}" "CLUSTER_NEW_NODE_ROLES={hub,leaf}"
プロンプトに従い、orainstRoot.shスクリプトをrootとして実行して、/etc/oraInst.locファイルに中央インベントリの場所を移入します。次に例を示します。
# /opt/oracle/oraInventory/orainstRoot.sh
Oracle RACまたはOracle RAC One Nodeデータベースをクラスタで構成した場合で、ローカルのOracleホームを持つ場合は、次を実行してOracle Databaseホームをnode3に拡張します。
node1のOracle_home/addnodeディレクトリに移動し、次の構文を使用してOracle RACをインストールしたユーザーとしてaddnode.shスクリプトを実行します。
$ ./addnode.sh "CLUSTER_NEW_NODES={node3}"
rootとしてnode3でOracle_home/root.shスクリプトを実行します。Oracle_homeはOracle RACホームです。
Oracle Automatic Storage Management Cluster File System (Oracle ACFS)を使用して共有されている共有Oracleホームを持つ場合は、次の手順を実行し、Oracle Databaseホームをnode3に拡張します。
rootとして、node3に対しGrid_home/root.shスクリプトを実行します。Grid_homeはOracle Grid Infrastructureホームです。
Oracle RACをインストールしたユーザーとして、追加したノードのOracle_home/oui/binディレクトリから次のコマンドを実行し、Oracle RACデータベース・ホームを追加します。
$ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER_NODES={node3}"
LOCAL_NODE="node3" ORACLE_HOME_NAME="home_name" -cfs
node1のOracle_home/addnodeディレクトリに移動し、次の構文を使用してOracle RACをインストールしたユーザーとしてaddnode.shスクリプトを実行します。
$ ./addnode.sh -noCopy "CLUSTER_NEW_NODES={node3}"
注意:
宛先ノードのOracleホームはすでにソフトウェアに完全に移入されているため、-noCopyオプションを使用します。
Oracle ACFS以外の共有ファイル・システムで共有Oracleホームを持つ場合は、まずターゲット・ノードでOracle RACデータベース・ホームのマウント・ポイントを作成し、Oracle RACデータベース・ホームをマウントおよびアタッチし、次のようにOracle Inventoryを更新します。
クラスタ内の既存ノードでsrvctl config database -db db_nameコマンドを実行して、マウント・ポイント情報を取得します。
次のコマンドをrootとしてnode3で実行し、マウント・ポイントを作成します。
# mkdir -p mount_point_path
Oracle RACデータベース・ホームをホストするファイル・システムをマウントします。
Oracle RACをインストールしたユーザーとして、追加したノードのOracle_home/oui/binディレクトリから次のコマンドを実行し、Oracle RACデータベース・ホームを追加します。
$ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER
_NODES={local_node_name}" LOCAL_NODE="node_name" ORACLE_HOME_NAME="home_name" -cfs
node1のOracle_home/addnodeディレクトリに移動し、次の構文を使用してOracle RACをインストールしたユーザーとしてaddnode.shスクリプトを実行します。
$ ./addnode.sh -noCopy "CLUSTER_NEW_NODES={node3}"
注意:
宛先ノードのOracleホームはすでにソフトウェアに完全に移入されているため、-noCopyオプションを使用します。
注意:
addnode.shの実行後、Grid_home/network/admin/samplesディレクトリの権限が750に設定されていることを確認します。 rootとして、node3でGrid_home/root.shスクリプトを実行し、指示に従って後続のスクリプトを実行します。
注意:
手順5でroot.shスクリプトを実行した場合は、再度実行する必要はありません。
ポリシー管理データベースを使用している場合、必ずOracleホームを新しいノードにクローニングしてからroot.shスクリプトを実行してください。
rootとしてGrid_home/binディレクトリから次のコマンドを実行して、新しいノードでOracle ACFSリソースを起動します。
# srvctl start filesystem -device volume_device_name -node node3
注意:
Oracleホームが格納されているOracle ACFSレジストリ・リソースおよびOracle ACFSファイル・システム・リソースを含むOracle ACFSリソースが、新しく追加されたノードでオンラインであることを確認します。
Oracle Clusterwareをインストールしたユーザーとして次のCVUコマンドを実行して、クラスタの整合性をチェックします。このコマンドで、指定した任意の数のノードがネットワーク、共有記憶域およびクラスタウェアの各レベルでクラスタに正常に追加されていることを確認します。
$ cluvfy stage -post nodeadd -n node3 [-verbose]
関連項目:
このCVUコマンドの詳細は、「cluvfy stage [-pre | -post] nodeadd」を参照してください。
ポリシー管理Oracle RACデータベースまたは管理者管理Oracle RACデータベースのいずれかがnode3(新しく追加されたノード)で実行されるように構成されているかどうかを確認します。管理者管理Oracle RACデータベースを構成した場合、DBCAを使用してデータベースにインスタンスを追加し、この新しく追加されたノードで実行します。
関連項目:
DBCAを使用した管理者管理Oracle RACデータベース・インスタンスの追加の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
ポリシー管理Oracle RACデータベースを構成した場合のターゲット・ノードへのOracle RACデータベース・インスタンスの追加の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。