この章では、Oracle Real Application Clusters(Oracle RAC)環境でノードおよびインスタンスを追加および削除する方法について説明します。これらの方法は、新規Oracle RAC環境の構成時または既存のOracle RAC環境のサイズ変更時に使用できます。
この章の内容は次のとおりです。
注意: この章に示す手順は、記載されている順序どおりに実行してください。 |
参照:
|
ノードをクラスタに追加する前に、クラスタ内の既存の全ノードに対して行ったのと同じインストール前の手順を、新しいノードでも実行する必要があります。必要なタスクは次のとおりです。
ハードウェアの互換性のチェック
オペレーティング・システムの構成
新規ノードと他のクラスタ・メンバーとの間のSSH接続の構成
共有記憶域へのアクセスの構成
グループ、ユーザーおよびディレクトリの作成
これらのタスクの詳細は、第2章「クラスタの準備」を参照してください。
ノードを既存のクラスタに追加する場合、新規ノードの構成はクラスタ内の他のノードと一致する必要があります。新規ノードでは、他のノードと同じオペレーティング・システムの同じバージョンが実行されている必要があります。また、新規コンピュータのチップ・アーキテクチャ(32ビットまたは64ビット)も他のノードと同じである必要があります。ただし、同じクラスタ内でスピードとサイズが異なるコンピュータを持つことはできます。
新規ノードを構成した後、cluvfy
を使用して、インストールの要件をすべて満たしているかを検証する必要があります。新規ノードがハードウェアの要件を満たすことを検証するには、Grid_home
/bin
ディレクトリから既存のノード(たとえば、racnode1
またはracnode2
)上で次のコマンドを実行します。
cluvfy stage -pre crsinst -n racnode3 -verbose
Oracle Clusterwareをサポートするように新規ノードを構成したら、Oracle Universal Installer(OUI)を使用して、クラスタに追加するノードにGridホームを追加します。
この項では、racnode3
という名前のノードを追加すると仮定します。Oracle Clusterwareはracnode1
上の共有されていないホーム内に正常にインストールされており、Grid_home
は正常にインストールされたOracle Clusterwareのホームを表すとします。
新規ノードを含むようにクラスタ用Oracle Grid Infrastructureホームを拡張するには、次の手順を実行します。
Oracle Clusterwareのインストール用に新規ノードが正常に準備されていることを検証するため、次のCLUVFYコマンドをracnode1
ノードで実行します。
cluvfy stage -pre nodeadd -n racnode3 -verbose
racnode1
のoracle
ユーザー(クラスタ・ソフトウェア・インストールのOracle Grid Infrastructureの所有者)として、Grid_home
/oui/bin
に移動し、サイレント・モードで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管理およびデプロイメント・ガイド』を参照してください。
スクリプトが終了したら、新規ノードracnode3
のOracleホーム・ディレクトリから、そのノードのroot
ユーザーとしてroot.sh
スクリプトを実行します。
Oracleグリッド・ネーミング・サービス(GNS)を使用していない場合、racnode3
の名前とアドレスをDNSに追加する必要があります。
これで、Oracle Clusterwareが新規ノードで動作している状態になります。新規ノード上のOracle Clusterwareのインストールを検証するには、新しく構成したノードracnode3
で次のコマンドを実行します。
$ cd /u01/app/11.2.0/grid/bin $ ./cluvfy stage -post nodeadd -n racnode3 -verbose
注意: Oracle Clusterwareのインストールを完了した後は、ドメイン修飾子の追加や削除を含め、ホスト名を変更しないでください。ホスト名が変更されたノードはクラスタから削除し、新しい名前で追加しなおす必要があります。 |
参照:
|
Gridホームを新規ノードに拡張できたので、racnode1
上のOracleホームをracnode3
に拡張する必要があります。次の手順では、前項「新規ノードの準備」および「新規ノードへのOracle Grid Infrastructureホームの拡張」で説明したタスクを完了したと想定し、racnode3
はracnode1
が属するクラスタのメンバー・ノードであるとします。
Oracleホームを新規ノードに追加する手順は、前項でGridホームを新規ノードに拡張したときの手順とよく似ています。
新規ノードを含むようにOracle RACインストールを拡張するには、次の手順を実行します。
クラスタ環境内の1つ以上のノードにOracle RACソフトウェアが正常にインストールされていることを確認します。ここに示す手順では、Oracle_home
は、インストール済のOracleホーム・ディレクトリの場所になります。
racnode1
上でOracle_home/oui/bin
ディレクトリに移動し、次の例のようにaddNode.sh
スクリプトをサイレント・モードで実行します。
$ cd /u01/app/oracle/product/11.2.0/dbhome_1/oui/bin $ ./addNode.sh -silent "CLUSTER_NEW_NODES={racnode3}"
スクリプトが終了したら、新規ノードracnode3
のOracleホーム・ディレクトリから、そのノードのroot
ユーザーとしてroot.sh
スクリプトを実行します。
Oracle Managed Files(OMF)を有効にしたポリシー管理データベースの場合、これ以上の操作は必要ありません。
ポリシー管理データベースの場合、クラスタに追加される新規ノードは、デフォルトでは空きプールに置かれます。データベース・サーバー・プールのカーディナリティを上げると、Oracle RACインスタンスが新規ノードracnode3
に追加され、ノードはデータベース・サーバー・プールに移動されます。したがってこれ以上の操作は必要ありません。
UNDO表領域およびREDOログ・ファイル用の共有記憶域を追加します。
データベースでOMFが有効になっていない場合は、UNDO表領域およびREDOログを手動で追加する必要があります。
管理者管理データベースを使用している場合、「新規ノードでのインスタンスの作成」で説明するように、新規ノードに新規インスタンスを追加します。
このマニュアルのインストール手順に従うと、クラスタ・データベースは管理者管理データベースとなり、データベース・ファイルはOMFが有効なOracle Automatic Storage Management (Oracle ASM)上に格納されます。
これらの手順が完了すると、新規ノードにインストール済のOracleホームが存在するようになります。
参照:
|
「Oracle RACのホーム・ディレクトリの拡張」で説明されている手順に従った場合、addNode.sh
スクリプトによってクラスタ・ノードがクラスタに追加されます。ソフトウェアが新規ノード上で起動されると、Oracle Enterprise Managerはそのノードを検出します。新規ノードにOracle Enterprise Managerエージェントがインストールされていない場合、そのホストに対してアラートが発行され、メッセージ「不完全な構成」が表示されます。
参照:
|
インスタンスをクラスタに追加するには、Database Configuration Assistant(DBCA)のインスタンス管理オプションか、Oracle Enterprise Managerを使用します。これらのオプションを使用する前に、まずクラスタの一部として新規ノードを構成し、前の項で説明したように新規ノードにソフトウェアをインストールする必要があります。
インスタンスを新規ノードに追加する方法には次の2つがあります。
注意: この項で説明する手順では、Oracle Enterprise Manager Provisioning Management Packのライセンスが必要です。ご使用のシステムでこれらの機能が使用可能かどうかの詳細は、『Oracle Databaseライセンス情報』を参照してください。 |
ポリシー管理データベースにインスタンスを追加するには、そのデータベースのサーバー・プールのカーディナリティを上げるだけで済みます。ノードがサーバー・プールに追加される際、新規ノード上でデータベース・インスタンスとOracle ASMインスタンスが自動的に作成および構成されます。
Oracle Enterprise Managerを使用してインスタンスをポリシー管理データベースに追加するには、次の手順を実行します。
「クラスタ・データベース: ホーム」ページで「サーバー」をクリックします。
「データベースの変更」ヘッダーの下で「インスタンスの追加」をクリックします。
「インスタンスの追加: クラスタ資格証明」ページが表示されます。
Oracle Clusterwareソフトウェア所有者の資格証明およびSYSASMユーザーの資格証明を入力し、「次へ」をクリックします。
資格証明の検証後、「サーバー・プールの編集」ページが表示されます。
サーバー・プール設定を変更し、「発行」をクリックします。
「クラスタ・データベース: ホーム」ページに戻るには、「データベース」タブをクリックします。
クラスタ・データベースで使用可能なインスタンスの数を確認します。
参照:
|
管理者管理データベースにインスタンスを追加する場合、データベース・インスタンスの名前と、どのノードでそのインスタンスを実行するかを指定する必要があります。
Oracle Enterprise Managerを使用してインスタンスを管理者管理データベースに追加するには、次の手順を実行します。
「クラスタ・データベース: ホーム」ページで「サーバー」をクリックします。
「データベースの変更」ヘッダーの下で「インスタンスの追加」をクリックします。
「インスタンスの追加: クラスタ資格証明」ページが表示されます。
Oracle Clusterwareソフトウェア所有者の資格証明およびSYSASMユーザーの資格証明を入力し、「次へ」をクリックします。
資格証明の検証後、「インスタンスの追加: ホスト」ページが表示されます。
「追加するデータベース・インスタンス名」フィールドで、デフォルトのインスタンス名を使用するか、またはデータベース・インスタンスに対し別の名前(racnode3
など)を入力します。
新規インスタンスを作成するノードを選択し、「次へ」をクリックします。
注意: この手順では、選択したノード上にOracle Databaseソフトウェアが構成されていて、選択したノードには現在実行中のクラスタ・データベースのインスタンスが存在しないことを前提としています。 |
選択したホストの検証後、「インスタンスの追加: 確認」ページが表示されます。
情報を確認し、「ジョブの発行」をクリックして続行します。
「確認」ページが表示されます。
「ジョブの表示」をクリックし、発行されたジョブのステータスを確認します。
「ジョブ実行: 詳細」ページが表示されます。
ジョブのステータスが「成功」または「失敗」と表示されるまで、ブラウザの「リフレッシュ」ボタンをクリックします。
ジョブのステータスが「失敗」と表示された場合は、失敗した手順の名前をクリックして失敗の理由を確認します。
「クラスタ・データベース: ホーム」ページに戻るには、「データベース」タブをクリックします。
クラスタ・データベースで使用可能なインスタンスの数が1つ増えています。
参照:
|
データベース・インスタンスをクラスタ・データベースから削除する必要がある場合があります。たとえば、あるサーバーの使用を止める場合や用途を変更するには、まず、そのサーバー上で実行されているデータベース・インスタンスを削除します。
インスタンスをクラスタから削除するには、Database Configuration Assistant(DBCA)のインスタンス管理オプションか、Oracle Enterprise Managerを使用します。DBCAを使用してインスタンスを削除する場合、クラスタの一部として残すノードからDBCAユーティリティを起動します。
インスタンスをクラスタ・データベースから削除する方法には次の2つがあります。
注意: この項で説明する手順では、Oracle Enterprise Manager Provisioning Management Packのライセンスが必要です。ご使用のシステムでこれらの機能が使用可能かどうかの詳細は、『Oracle Databaseライセンス情報』を参照してください。 |
参照:
|
ポリシー管理データベースからインスタンスを削除するには、そのデータベースのサーバー・プールのカーディナリティを下げるだけで済みます。割当て解除されたノード上のデータベース・インスタンスとOracle ASMインスタンスは、クラスタから削除され、そのノードは別のサーバー・プールに再割当てされるか、空きプールに置かれます。
Oracle Enterprise Managerを使用してポリシー管理データベースのインスタンスを削除するには、次の手順を実行します。
SYSDBAユーザーとして、Oracle Enterprise Manager Database Control(Database Control)にログインします。
「クラスタ・データベース: ホーム」ページで「サーバー」をクリックします。
「サーバー」サブページの「データベースの変更」ヘッダーの下で、「インスタンスの削除」をクリックします。
「サーバー・プールの編集」ページが表示されます。
Oracle Databaseソフトウェア所有者の資格証明およびSYSASMユーザーの資格証明を入力し、「次へ」をクリックします。
「インスタンスの削除: データベース・インスタンス」ページが表示されます。
サーバー・プール設定を変更し、「発行」をクリックします。
「クラスタ・データベース: ホーム」ページに戻るには、「データベース」タブをクリックします。
クラスタ・データベースで使用可能なインスタンスの数を確認します。
参照:
|
管理者管理データベースからインスタンスを削除する場合、削除するデータベース・インスタンスの名前と、どのノードでそのインスタンスが実行されているかを指定する必要があります。
Oracle Enterprise Managerを使用して管理者管理データベースのインスタンスを削除するには、次の手順を実行します。
SYSDBAユーザーとして、Oracle Enterprise Manager Database Control(Database Control)にログインします。
「クラスタ・データベース: ホーム」ページで「サーバー」をクリックします。
「サーバー」サブページの「データベースの変更」ヘッダーの下で、「インスタンスの削除」をクリックします。
「インスタンスの削除: クラスタ資格証明」ページが表示されます。
Oracle Databaseソフトウェア所有者の資格証明およびSYSASMユーザーの資格証明を入力し、「次へ」をクリックします。
「インスタンスの削除: データベース・インスタンス」ページが表示されます。
削除するインスタンスを選択して、「次へ」をクリックします。
ホスト情報の検証後、「インスタンスの削除: 確認」ページが表示されます。
情報を確認し、正しい場合は、「ジョブの発行」をクリックして続行します。情報が正しくない場合は、「戻る」をクリックして修正します。
「確認」ページが表示されます。
「ジョブの表示」をクリックし、ノード削除ジョブのステータスを確認します。
「ジョブ実行: 詳細」ページが表示されます。
ジョブのステータスが「成功」または「失敗」と表示されるまで、ブラウザの「リフレッシュ」ボタンをクリックします。
ジョブのステータスが「失敗」と表示された場合は、失敗した手順の名前をクリックして失敗の理由を確認します。
「クラスタ: ホーム」ページを表示するには、「クラスタ」タブをクリックします。
クラスタ・データベースで使用可能なホストの数が1つ減っています。
参照:
|
クラスタからのノードの削除は、単にサーバーを停止するだけで、簡単に行えます。固定されておらず、Oracle Database 11gリリース1以下を使用するOracle Databaseをホストしていないノードは、停止するとクラスタから自動的に削除されます。ノードが固定されているか、またはそのノードによって以前のリリースのデータベース・インスタンスがホストされている場合は、明示的に削除する必要があります。
このサーバーの用途を変更するには、異なるプロファイルを配置してノードを再起動するか、または他のソフトウェアでサーバーに新しいソフトウェア・イメージを配置します。
参照:
|