10 クローニングを使用した同じクラスタのノードへのOracle RACの拡張
この章では、クローニングを使用してOracle Real Application Clusters(Oracle RAC)を既存クラスタのノードに拡張する方法について説明します。
Oracle RACを新規クラスタのノードに追加する場合は、「新規クラスタのノードへのOracle RACのクローニング」を参照してください。
この章のトピックは、次のとおりです:
10.1 Oracle RAC環境でのクローニングを使用したノードの追加について
クローニング手順は、ノードおよびインスタンスを追加するOracle RAC環境が正常にインストールされ、構成されていることを前提としています。クローニングを使用してOracle RAC環境にノードを追加するには、まず、Oracle Clusterware構成を拡張し、次にOracle RACによってOracle Databaseソフトウェアを拡張し、Oracle Assistantを実行してリスナーとインスタンスを追加します。
クローニング・スクリプトは複数のツールを実行し、それぞれが独自にログ・ファイルを生成する可能性があります。clone.pl
スクリプトの実行が終了した後、ログ・ファイルを参照して、クローニング・プロセスに関する詳細情報を入手できます。詳細は、「クローニング時に生成されたログ・ファイルの配置と表示」を参照してください。
10.2 LinuxおよびUNIXシステムでのローカルOracleホームのクローニング
LinuxおよびUNIXシステム環境でローカル(非共有)Oracleホームをクローニングして、既存のOracle RAC環境にノードを追加します。
Oracle DatabaseとOracle RACソフトウェアをクローニングするには、次のステップを実行します。
-
Oracleホームのコピーを作成し、このコピーを使用して1つ以上のノードでクローニング手順を実行するには、トピック「Oracle RACのクローニングの準備」のステップに従ってください。
-
tar
ユーティリティを使用して、既存ノードでOracleホームのアーカイブを作成し、それを新規ノードにコピーします。ソース・ノードのOracleホームの場所が$ORACLE_HOME
である場合は、これと同じディレクトリを新規ノード上のコピー先として使用する必要があります。 -
新規ノードで、環境変数
ORACLE_HOME
およびORACLE_BASE
を構成します。その後で、新しいノードのGrid_home/clone/bin
ディレクトリに移動して、次のコマンドを実行します。existing_node
はクローニングするノードの名前、new_node2
とnew_node3
は新しいノードの名前、Oracle_home_name
はOracleホームの名前です。perl clone.pl ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=Oracle_home_name ORACLE_BASE=$ORACLE_BASE "'CLUSTER_NODES={existing_node,new_node2,new_node3}'" "'LOCAL_NODE=new_node2'" CRS=TRUE INVENTORY_LOCATION=/u01/app/oraInventory
-
次のコマンドを実行し、新規ノードでOracle RACを構成するためのConfiguration Assistantを実行します。
$ORACLE_HOME/cfgtoollogs/configToolFailedCommands
このスクリプトには、インストール中に失敗、スキップまたはキャンセルされたすべてのコマンドが含まれています。このスクリプトは、Oracle Universal Installer外でデータベース構成アシスタントを実行するために使用できます。スクリプトの実行前に、スクリプト内のパスワードを更新する必要があるかどうかを確認してください。
-
既存ノードで、
$ORACLE_HOME/oui/bin
ディレクトリから次のコマンドを実行し、Oracle RACを含むOracle Databaseホーム(Oracle_home
で指定)のインベントリを更新します。existing_node
はクローニング元のノードの名前、new_node2
およびnew_node3
は新規ノードの名前です。./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME -O "CLUSTER_NODES= {existing_node,new_node2,new_node3}"
-
それぞれの新規ノードで、
$ORACLE_HOME
ディレクトリに移動し、次のコマンドを実行します。./root.sh
-
クローニングしたノードから、Database Configuration Assistant(DBCA)を実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。
関連項目
10.3 LinuxおよびUNIXシステムでの共有Oracleホームのクローニング
LinuxおよびUNIXシステム環境で共有Oracleホームをクローニングして、既存のOracle RAC環境にノードを追加します。
Oracle DatabaseとOracle RACソフトウェアをクローニングするには、次のステップを実行します。
-
Oracleホームのコピーを作成し、このコピーを使用して1つ以上のノードでクローニング手順を実行するには、「Oracle RACのクローニングの準備」のステップに従ってください。
-
新規ノードで、環境変数
ORACLE_HOME
およびORACLE_BASE
を構成します。次に、$ORACLE_HOME/clone/bin
ディレクトリに移動し、次のコマンドを実行します(ここで、existing_node
はクローニングするノードの名前、new_node2
,およびnew_node3
は新規ノードの名前、Oracle_home_name
はOracleホームの名前で、-cfs
オプションはOracleホームが共有されることを示します)。perl clone.pl -O 'CLUSTER_NODES={existing_node,new_node2,new_node3}' -O LOCAL_NODE=new_node2 ORACLE_BASE=$ORACLE_BASE ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=Oracle_home_name [-cfs]
注意:
このコマンドの内容は次のとおりです。
-
-cfs
オプションは、Oracle RACを含む共有Oracle Databaseホームに使用します。 -
ORACLE_HOME_NAME
パラメータの値は、クローニングするノードの値である必要があります。
-
-
既存ノードで、
$ORACLE_HOME/oui/bin
ディレクトリから次のコマンドを実行し、Oracle RACを含むOracle Databaseホーム(Oracle_home
で指定)のインベントリを更新します。existing_node
はクローニング元のノードの名前、new_node2
およびnew_node3
は新規ノードの名前です。./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES= {existing_node,new_node2,new_node3}"
-
それぞれの新規ノードで、
$ORACLE_HOME
ディレクトリに移動し、次のコマンドを実行します。./root.sh
-
クローニングしたノードから、Database Configuration Assistant(DBCA)を実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。
関連項目
10.4 WindowsシステムでのOracleホームのクローニング
Windowsシステム環境で共有またはローカルOracleホームをクローニングして、既存のOracle RAC環境にノードを追加します。
Oracle DatabaseとOracle RACソフトウェアをクローニングするには、次のステップを実行します。
-
ローカルOracleホームがある場合は、ZIPユーティリティを使用して、既存ノードでOracle RACを含むOracle Databaseホームのアーカイブを作成し、それを新規ノードにコピーします。それ以外の場合は、次のステップに進みます。
ZIPファイルのOracle DatabaseとOracle RACのホームのファイルを、新規ノードで同じディレクトリ(既存ノードでOracle RACとともにOracle Databaseホームが配置されていた場所)に解凍します。たとえば、新規ノードのコピー先のOracle RACのホームの場所を
%ORACLE_HOME%
とします。 -
新規ノードで、
%ORACLE_HOME%\clone\bin
ディレクトリに移動し、次のコマンドを実行します(ここで、Oracle_Home
はOracle Databaseホーム、Oracle_Home_Name
はOracle Databaseホームの名前、Oracle_Base
はOracleベース・ディレクトリ、user_name
はクローニングされるOracleホームのOracleホーム・ユーザー(管理者以外のユーザー)の名前、existing_node
は既存のノードの名前、new_node
は新規ノードの名前です)。perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_BASE=Oracle_Base ORACLE_HOME_NAME=Oracle_Home_Name ORACLE_HOME_USER=user_name -O 'CLUSTER_NODES={existing_node,new_node}' -O LOCAL_NODE=new_node
Oracle RACを含む共有Oracle Databaseホームがある場合は、コマンドに
-cfs
オプションを追加し、Oracleホームが共有されていることを示します。次に例を示します。perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_BASE=Oracle_Base ORACLE_HOME_NAME=Oracle_Home_Name ORACLE_HOME_USER=user_name -O 'CLUSTER_NODES={existing_node,new_node}' -O LOCAL_NODE=new_node [-cfs -noConfig]
注意:
-
セキュアなOracleホームをクローニングする場合にのみ、
ORACLE_HOME_USER
が必須です。 -
-cfs
および-noConfig
オプションは、Oracle RACを含む共有Oracle Databaseホームに使用します。 -
ORACLE_HOME_NAME
パラメータの値は、クローニングするノードの値である必要があります。ORACLE_HOME_NAME
を取得するには、HKEY_LOCAL_MACHINE\SOFTWARE\oracle\KEY_OraCRs12c_home1
の下のORACLE_HOME_NAME
パラメータ・キーを、クローニングするノードのレジストリで検索します。
-
-
既存ノードで、
%ORACLE_HOME%\oui\bin
ディレクトリから次のコマンドを実行し、Oracle_home
で指定されるOracle RACを含むOracle Databaseホームのインベントリを更新します。existing_node
は既存ノードの名前、new_node
は新規ノードの名前です。setup.exe -updateNodeList ORACLE_HOME=Oracle_home "CLUSTER_NODES= {existing_node,new_node}" LOCAL_NODE=existing_node
-
クローニングしたノードから、DBCAを実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。