11 ノードおよびインスタンスの追加および削除

既存のOracle Real Application Clusters (Oracle RAC)ホームをクラスタ内の他のノードおよびインスタンスに拡張したり、Oracle RACインスタンスを削除したり、クラスタからノードを削除することができます。

ノードはOracle RACクラスタを新規に構成するときに追加でき、ノードを削除して既存のクラスタのサイズを変更することができます。

注意:

ノードを追加または削除する場合、各手順を記載の順序で実行することが非常に重要です。

関連項目:

クラスタ・データベースのノードを追加および削除する方法の詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照

11.1 新規ノードの準備

ノードをクラスタに追加する前に、クラスタ内の既存の全ノードに対して行ったのと同じインストール前の手順を、新しいノードでも実行する必要があります。

これには、次の作業が含まれます。

  • ハードウェアの互換性のチェック

  • オペレーティング・システムの構成

  • 新規ノードと他のクラスタ・メンバーとの間のSSH接続の構成

  • 共有記憶域へのアクセスの構成

  • グループ、ユーザーおよびディレクトリの作成

11.2 新規ノードがインストールの前提条件を満たすことの検証

ノードを既存のクラスタに追加する場合、新規ノードの構成はクラスタ内の他のノードと一致する必要があります。

新規ノードでは、他のノードと同じオペレーティング・システムの同じバージョンが実行されている必要があります。新しいコンピュータは他のノードと同じチップ・ アーキテクチャ(32ビットか64ビット)を使用している必要があります。ただし、同じクラスタ内でスピードとサイズが異なるコンピュータを持つことはできます。

新規ノードを構成したら、cluvfyを使用して、インストール要件がすべて満たされていることを検証します。新規ノードがハードウェアの要件を満たすことを検証するには、Grid_home/binディレクトリから既存のノード(たとえば、racnode1またはracnode2)上で次のコマンドを実行します。

cluvfy stage -pre crsinst -n racnode3 -verbose

11.3 新規ノードへのOracle Grid Infrastructureホームの拡張

Oracle Clusterwareをサポートするように新規ノードを構成したら、Oracle Universal Installer (OUI)を使用して、クラスタに追加するノードにGridホームを追加します。

このタスクでは、racnode3という名前のノードを追加し、Oracle Clusterwareはracnode1上の共有されていないホーム内に正常にインストールされており、ここではGrid_homeが正常にインストールされたOracle Clusterwareのホームであることを前提としています。

新規ノードを含むようにクラスタ用Oracle Grid Infrastructureホームを拡張するには、次の手順を実行します。

  1. Oracle Clusterwareのインストール用に新規ノードが正常に準備されていることを検証するため、次のCLUVFYコマンドをracnode1ノードで実行します。
    cluvfy stage -pre nodeadd -n racnode3 -verbose
    
  2. racnode1上のgridユーザー(クラスタ用Oracle Grid Infrastructureのソフトウェア・インストールの所有者)として、Grid_home/addnodeに移動し、addNode.shスクリプトをサイレント・モードで実行します。
    • グリッド・ネーミング・サービス(GNS)を使用している場合:

      ./addNode.sh -silent "CLUSTER_NEW_NODES={racnode3}"
      
    • グリッド・ネーミング・サービス(GNS)を使用していない場合:

      ./addNode.sh -silent "CLUSTER_NEW_NODES={racnode3}" "CLUSTER_NEW_VIRTUAL_
      HOSTNAMES={racnode3-vip}"
      

    これらのコマンドを実行する場合、中カッコ({ })はオプションではなく含める必要があり、これを含めていないとエラーが返されます。

    コマンドラインにすべての引数を配置するかわりに、レスポンス・ファイルを使用できます。レスポンス・ファイルの使用方法の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

  3. スクリプトが終了したら、新規ノードracnode3のOracleホーム・ディレクトリから、そのノードのrootユーザーとしてroot.shスクリプトを実行します。
  4. Oracleグリッド・ネーミング・サービス(GNS)を使用していない場合、racnode3の名前とアドレスをDNSに追加する必要があります。

この時点で、新規ノードでOracle Clusterwareを実行する必要があります。新規ノード上のOracle Clusterwareのインストールを検証するには、新しく構成したノードracnode3で次のコマンドを実行します。

$ cd /u01/app/12.2.0/grid/bin
$ ./cluvfy stage -post nodeadd -n racnode3 -verbose

注意:

Oracle Clusterwareインストールの完了後は、ホスト名の変更(ドメイン修飾の追加または削除を含む)はしないでください。ホスト名を変更されたノードはクラスタから削除され、新しい名前で追加されます。

関連項目:

11.4 Oracle RACホーム・ディレクトリの拡張

Gridホームを新規ノードに拡張できたので、racnode1上のOracleホームをracnode3に拡張する必要があります。

Oracleホームを新規ノードに追加する手順は、前項でGridホームを新規ノードに拡張したときの手順とよく似ています。

次に示す手順では、前項「新規ノードの準備」および「新規ノードへのOracle Grid Infrastructureホームの拡張」で説明されているタスクを完了しており、racnode3racnode1が属するクラスタのメンバー・ノードであることを前提としています。

新規ノードを含むようにOracle RACインストールを拡張するには、次の手順を実行します。

  1. クラスタ環境内の1つ以上のノードにOracle RACソフトウェアが正常にインストールされていることを確認します。ここに示す手順では、Oracle_homeは、インストール済のOracleホーム・ディレクトリの場所になります。
  2. racnode1上のOracle_home/addnodeディレクトリに移動して、次の例に示すように、addNode.shスクリプトをサイレント・モードで実行します。
    $ cd /u01/app/oracle/product/12.2.0/dbhome_1/addnode
    $ ./addNode.sh -silent "CLUSTER_NEW_NODES={racnode3}"
    
  3. スクリプトが終了したら、新規ノードracnode3のOracleホーム・ディレクトリから、そのノードのrootユーザーとしてroot.shスクリプトを実行します。

    Oracle Managed Files(OMF)を有効にしたポリシー管理データベースの場合、これ以上の操作は必要ありません。

    ポリシー管理データベースの場合、クラスタに追加される新規ノードは、デフォルトでは空きプールに置かれます。データベース・サーバー・プールのカーディナリティを上げると、Oracle RACインスタンスが新規ノードracnode3に追加され、ノードはデータベース・サーバー・プールに移動されます。したがってこれ以上の操作は必要ありません。

  4. UNDO表領域およびREDOログ・ファイル用の共有記憶域を追加します。

    データベースでOMFが有効になっていない場合は、UNDO表領域およびREDOログを手動で追加する必要があります。

  5. 管理者管理データベースを使用している場合、「新規ノードでのインスタンスの作成」で説明するように、新規ノードに新規インスタンスを追加します。

    このマニュアルのインストール手順に従うと、クラスタ・データベースは管理者管理データベースとなり、データベース・ファイルはOMFが有効なOracle Automatic Storage Management (Oracle ASM)上に格納されます。

これらの手順が完了すると、新規ノードにインストール済のOracleホームが存在するようになります。

関連項目:

11.5 Oracle Enterprise Managerによるクラスタへの新規ノードの追加

新たに追加されたノードはOracle Enterprise Managerによって自動的に検出されます。

「Oracle RACホーム・ディレクトリの拡張」で説明されている手順に従った場合、addNode.shスクリプトによってクラスタ・ノードがクラスタに追加されます。ソフトウェアが新規ノード上で起動されると、Oracle Enterprise Managerはそのノードを検出します。新規ノードにOracle Enterprise Managerエージェントがインストールされていない場合、「不完全な構成」というメッセージとともにホストに対するアラートが発行されます。

関連項目:

11.6 新規ノードでのインスタンスの作成

Database Configuration Assistant (DBCA)の「インスタンス管理」オプションまたはEnterprise Managerを使用して、クラスタにインスタンスを追加できます。

これらのオプションを使用する前に、まずクラスタの一部として新規ノードを構成し、前の項で説明したように新規ノードにソフトウェアをインストールする必要があります。

注意:

この項で説明する手順では、Oracle Enterprise Manager Provisioning Management Packのライセンスが必要です。システム上でのこれらの機能の可用性の詳細は、Oracle Databaseライセンス情報を参照してください。

インスタンスを新規ノードに追加する方法には次の2つがあります。

11.6.1 ポリシー管理データベースの場合の新規インスタンスの追加

ポリシー管理データベースにインスタンスを追加するには、そのデータベースのサーバー・プールのカーディナリティをただ上げます。

ノードがサーバー・プールに追加される際、新規ノード上でデータベース・インスタンスとOracle ASMインスタンスが自動的に作成および構成されます。

Enterprise Managerを使用してポリシー管理データベースにインスタンスを追加するには、次の手順を実行します。

  1. Oracle Enterprise Managerで、クラスタ・データベースのホームページに移動します。

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 「可用性」メニューからクラスタ・データベースの操作を選択し、次に「インスタンスの追加」を選択します。

    「インスタンスの追加: クラスタ資格証明」ページが表示されます。

  3. Oracle Clusterwareソフトウェア所有者の資格証明およびSYSASMユーザーの資格証明を入力し、「次へ」をクリックします。

    資格証明の検証後、「サーバー・プールの編集」ページが表示されます。

  4. サーバー・プール設定を変更し、「発行」をクリックします。
  5. 「クラスタ・データベース」メニューで、「HOME」を選択してクラスタ・データベースのホームページを表示します。
  6. クラスタ・データベースで使用可能なインスタンスの数を確認します。

関連項目:

クラスタ・データベースのノードを追加および削除する方法の詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照

11.6.2 管理者管理データベースの場合の新規インスタンスの追加

管理者管理データベースにインスタンスを追加する場合、データベース・インスタンスの名前、およびインスタンスを実行するノードを指定する必要があります。

Enterprise Managerを使用して管理者管理データベースにインスタンスを追加するには、次の手順を実行します。

  1. Oracle Enterprise Managerで、クラスタ・データベースのホームページに移動します。

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 「可用性」メニューからクラスタ・データベースの操作を選択し、次に「インスタンスの追加」を選択します。

    「インスタンスの追加: クラスタ資格証明」ページが表示されます。

  3. Oracle Clusterwareソフトウェア所有者の資格証明およびSYSASMユーザーの資格証明を入力し、「次へ」をクリックします。

    資格証明の検証後、「インスタンスの追加: ホスト」ページが表示されます。

  4. 「追加するデータベース・インスタンス名」フィールドで、デフォルトのインスタンス名を使用するか、またはデータベース・インスタンスに対し別の名前(racnode3など)を入力します。
  5. 新規インスタンスを作成するノードを選択し、「次へ」をクリックします。

    注意:

    この手順では、選択したノード上にOracle Databaseソフトウェアが構成されていて、選択したノードには現在実行中のクラスタ・データベースのインスタンスが存在しないことを前提としています。

    図11-1 Oracle Enterprise Managerの「インスタンスの追加: ホスト」ページ

    図11-1の説明が続きます
    「図11-1 Oracle Enterprise Managerの「インスタンスの追加: ホスト」ページ」の説明

    選択したホストの検証後、「インスタンスの追加: 確認」ページが表示されます。

  6. 情報を確認し、「ジョブの発行」をクリックして続行します。

    「確認」ページが表示されます。

  7. 「ジョブの表示」をクリックし、発行されたジョブのステータスを確認します。

    「ジョブ実行: 詳細」ページが表示されます。

  8. ジョブのステータスが「成功」または「失敗」と表示されるまで、ブラウザの「リフレッシュ」ボタンをクリックします。

    ジョブのステータスが「失敗」と表示された場合は、失敗した手順の名前をクリックして失敗の理由を確認します。

  9. 「クラスタ・データベース」メニューで、「HOME」を選択してクラスタ・データベースのホームページを表示します。

    クラスタ・データベースで使用可能なインスタンスの数が1つ増えています。

関連項目:

クラスタ・データベースのノードを追加および削除する方法の詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照

11.7 クラスタ・データベースからのインスタンスの削除

Database Configuration Assistant (DBCA)の「インスタンス管理」オプションまたはEnterprise Managerを使用して、クラスタからインスタンスを削除できます。

データベース・インスタンスをクラスタ・データベースから削除する必要がある場合があります。たとえば、あるサーバーの使用を止める場合や用途を変更するには、まず、そのサーバー上で実行されているデータベース・インスタンスを削除します。

注意:

この項で説明する手順では、Oracle Enterprise Manager Provisioning Management Packのライセンスが必要です。システム上でのこれらの機能の可用性の詳細は、Oracle Databaseライセンス情報を参照してください。

DBCAを使用してインスタンスを削除する場合、クラスタの一部として残すノードからDBCAユーティリティを起動します。

インスタンスをクラスタ・データベースから削除する方法には次の2つがあります。

関連項目:

クラスタ・ノードからのOracle RACの削除の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

11.7.1 ポリシー管理データベースからのインスタンスの削除

ポリシー管理データベースからインスタンスを削除するには、そのデータベースのサーバー・プールのカーディナリティをただ下げます。

割当て解除されたノード上のデータベース・インスタンスとOracle ASMインスタンスは、クラスタから削除され、そのノードは別のサーバー・プールに再割当てされるか、空きプールに置かれます。

Enterprise Managerを使用してポリシー管理データベース・インスタンスを削除するには、次の手順を実行します。

  1. Oracle Enterprise Managerで、クラスタ・データベースのホームページに移動します。

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 「可用性」メニューからクラスタ・データベースの操作を選択し、次に「インスタンスの削除」を選択します。

    「サーバー・プールの編集」ページが表示されます。

  3. Oracle Databaseソフトウェア所有者の資格証明およびSYSASMユーザーの資格証明を入力し、「次へ」をクリックします。

    「インスタンスの削除: データベース・インスタンス」ページが表示されます。

  4. サーバー・プール設定を変更し、「発行」をクリックします。
  5. 「クラスタ・データベース」メニューで、「HOME」を選択してクラスタ・データベースのホームページを表示します。
  6. クラスタ・データベースで使用可能なインスタンスの数を確認します。

関連項目:

クラスタ・データベースのノードを追加および削除する方法の詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照

11.7.2 管理者管理データベースからのインスタンスの削除

管理者管理データベースからインスタンスを削除する場合、削除するデータベース・インスタンスの名前と、どのノードでそのインスタンスが実行されているかを指定する必要があります。

Enterprise Managerを使用して管理者管理データベース・インスタンスを削除するには、次の手順を実行します。

  1. Oracle Enterprise Managerで、クラスタ・データベースのホームページに移動します。

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 「可用性」メニューからクラスタ・データベースの操作を選択し、次に「インスタンスの削除」を選択します。

    「インスタンスの削除: クラスタ資格証明」ページが表示されます。

  3. Oracle Databaseソフトウェア所有者の資格証明およびSYSASMユーザーの資格証明を入力し、「次へ」をクリックします。

    「インスタンスの削除: データベース・インスタンス」ページが表示されます。

  4. 削除するインスタンスを選択して、「次へ」をクリックします。

    図11-2 Oracle Enterprise Managerの「データベース・インスタンスの削除」ページ

    図11-2の説明が続きます
    「図11-2 Oracle Enterprise Managerの「データベース・インスタンスの削除」ページ」の説明

    ホスト情報の検証後、「インスタンスの削除: 確認」ページが表示されます。

  5. 情報を確認し、正しい場合は、「ジョブの発行」をクリックして続行します。情報が正しくない場合は、「戻る」をクリックして修正します。

    「確認」ページが表示されます。

  6. 「ジョブの表示」をクリックし、ノード削除ジョブのステータスを確認します。

    「ジョブ実行: 詳細」ページが表示されます。

  7. ジョブのステータスが「成功」または「失敗」と表示されるまで、ブラウザの「リフレッシュ」ボタンをクリックします。

    図11-3 Oracle Enterprise Managerの「ジョブ実行」詳細ページ

    図11-3の説明が続きます
    「図11-3 Oracle Enterprise Managerの「ジョブ実行」の詳細ページ」の説明

    ジョブのステータスが「失敗」と表示された場合は、失敗した手順の名前をクリックして失敗の理由を確認します。

  8. 「クラスタ・データベース」メニューで、「HOME」を選択してクラスタ・データベースのホームページを表示します。

    クラスタ・データベースで使用可能なインスタンスの数が1つ減っています。

関連項目:

クラスタ・データベースのノードを追加および削除する方法の詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照

11.8 クラスタからのノードの削除

クラスタからのノードの削除は、単にサーバーを停止するだけで、簡単に行えます。

固定されておらず、Oracle Database 11gリリース1以下を使用するOracle Databaseをホストしていないノードは、停止するとクラスタから自動的に削除されます。ノードが確保されているか、前のリリースのデータベース・インスタンスをホストしている場合は、明示的な削除が必要です。

このサーバーの用途を変更するには、異なるプロファイルを配置してノードを再起動するか、または他のソフトウェアでサーバーに新しいソフトウェア・イメージを配置します。

関連項目:

クラスタ・データベースのノードを追加および削除する方法の詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照