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ソフトウェアをクローニングするには、次のステップを実行します。

  1. Oracleホームのコピーを作成し、このコピーを使用して1つ以上のノードでクローニング手順を実行するには、トピック「Oracle RACのクローニングの準備」のステップに従ってください。

  2. tarユーティリティを使用して、既存ノードでOracleホームのアーカイブを作成し、それを新規ノードにコピーします。ソース・ノードのOracleホームの場所が$ORACLE_HOMEである場合は、これと同じディレクトリを新規ノード上のコピー先として使用する必要があります。

  3. 新規ノードで、環境変数ORACLE_HOMEおよびORACLE_BASEを構成します。その後で、新しいノードのGrid_home/clone/binディレクトリに移動して、次のコマンドを実行します。existing_nodeはクローニングするノードの名前、new_node2new_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
  4. 次のコマンドを実行し、新規ノードでOracle RACを構成するためのConfiguration Assistantを実行します。

    $ORACLE_HOME/cfgtoollogs/configToolFailedCommands

    このスクリプトには、インストール中に失敗、スキップまたはキャンセルされたすべてのコマンドが含まれています。このスクリプトは、Oracle Universal Installer外でデータベース構成アシスタントを実行するために使用できます。スクリプトの実行前に、スクリプト内のパスワードを更新する必要があるかどうかを確認してください。

  5. 既存ノードで、$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}"
  6. それぞれの新規ノードで、$ORACLE_HOMEディレクトリに移動し、次のコマンドを実行します。

    ./root.sh
  7. クローニングしたノードから、Database Configuration Assistant(DBCA)を実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。

10.3 LinuxおよびUNIXシステムでの共有Oracleホームのクローニング

LinuxおよびUNIXシステム環境で共有Oracleホームをクローニングして、既存のOracle RAC環境にノードを追加します。

Oracle DatabaseとOracle RACソフトウェアをクローニングするには、次のステップを実行します。

  1. Oracleホームのコピーを作成し、このコピーを使用して1つ以上のノードでクローニング手順を実行するには、「Oracle RACのクローニングの準備」のステップに従ってください。

  2. 新規ノードで、環境変数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パラメータの値は、クローニングするノードの値である必要があります。

  3. 既存ノードで、$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}"
  4. それぞれの新規ノードで、$ORACLE_HOMEディレクトリに移動し、次のコマンドを実行します。

    ./root.sh
  5. クローニングしたノードから、Database Configuration Assistant(DBCA)を実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。

10.4 WindowsシステムでのOracleホームのクローニング

Windowsシステム環境で共有またはローカルOracleホームをクローニングして、既存のOracle RAC環境にノードを追加します。

Oracle DatabaseとOracle RACソフトウェアをクローニングするには、次のステップを実行します。

  1. ローカルOracleホームがある場合は、ZIPユーティリティを使用して、既存ノードでOracle RACを含むOracle Databaseホームのアーカイブを作成し、それを新規ノードにコピーします。それ以外の場合は、次のステップに進みます。

    ZIPファイルのOracle DatabaseとOracle RACのホームのファイルを、新規ノードで同じディレクトリ(既存ノードでOracle RACとともにOracle Databaseホームが配置されていた場所)に解凍します。たとえば、新規ノードのコピー先のOracle RACのホームの場所を%ORACLE_HOME%とします。

  2. 新規ノードで、%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パラメータ・キーを、クローニングするノードのレジストリで検索します。

  3. 既存ノードで、%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
  4. クローニングしたノードから、DBCAを実行して、新規ノードにOracle RACデータベース・インスタンスを追加します。