この章では、addNode.shおよびrootdeletenode.shスクリプトを使用して既存のOracle Clusterwareホームから他のノードにOracle Clusterwareホームをコピーする方法を説明します。この章に記載されている内容は、Linux、UNIXおよびWindowsシステムを対象としています。
クラスタ内のノードからOracle Clusterwareを追加または削除するには、この章で説明しているノードの追加手順を使用する必要があります。新規クラスタの作成、または同一クラスタ内の複数ノードへのOracle Clusterwareの拡張が目的の場合は、第3章「Oracle Clusterwareのクローニング」で説明しているクローニング手順を使用してください。
内容は次のとおりです。
次の手順は、LinuxまたはUNIX環境がすでに稼働していることを前提としています。
次の手順を完了して、クラスタ内に新規ノードを準備します。
物理的な接続の確立
新規ノードのハードウェアをクラスタのネットワーク・インフラストラクチャに接続します。この作業には、電気的な接続の確立、ネットワーク・インターコネクトの構成、共有ディスク・サブシステム接続の構成などが含まれます。この手順の詳細は、ハードウェア・ベンダーのマニュアルを参照してください。
オペレーティング・システムのインストール
クラスタの他のノード上のオペレーティング・システムと一致するオペレーティング・システムのクローン・イメージをインストールします。これには、必要なサービス・パッチやドライバのインストールも含まれます。この手順の詳細は、ハードウェア・ベンダーのマニュアルを参照してください。
Oracleユーザーの作成
rootユーザーとして、既存ノードと同じユーザーIDおよびグループIDを使用してOracleユーザーおよびグループを作成します。
クラスタ検証ユーティリティ(Cluster Verification Utility: CVU)を使用して、次の手順でインストールを検査します。
既存ノードで、CRS_home内の/binディレクトリからCVUコマンドを実行して、ハードウェア設定後の段階におけるインストールを検査します。node_listは、クラスタの一部とするノードのカンマ区切りのリストです。
cluvfy stage -post hwos -n node_list|all [-verbose]
このコマンドを実行すると、ハードウェア設定後の段階におけるハードウェアおよびオペレーティング・システム環境が検査されます。新規ノードのハードウェアおよびオペレーティング・システムを構成した後、このコマンドを使用して、ローカル・ノードからすべてのノードへの到達可能性などを検査できます。また、このコマンドで、指定されたすべてのノードとローカル・ノードとの間のユーザー等価関係、指定されたすべてのノード間のノード接続性、指定されたすべてのノードからの共有記憶域へのアクセス可能性などを検査することもできます。
|
注意: -n引数を付けたallオプションを使用できるのは、CV_NODE_ALL変数を、CVUの処理対象とするノードのリストに設定している場合に限られます。 |
既存ノードで、CRS_home内の/binディレクトリからCVUコマンドを実行して、参照ノードのプロパティと、現在のクラスタ環境に含まれるその他のすべてのノードのプロパティとの詳細な比較情報を取得します。ref_nodeは、CVUによる比較を行う既存クラスタ内のノード(-nオプションのnode_listにカンマ区切りのリストで指定して、新しく追加したノードなど)、orainventory_groupはOracleインベントリ・グループの名前、osdba_groupはOSDBAグループの名前です。
cluvfy comp peer [ -refnode ref_node ] -n node_list [ -orainv orainventory_group ] [ -osdba osdba_group ] [-verbose]
|
注意: 参照ノードについては、CVUによる比較を行う既存クラスタ・ノードからノードを選択します。たとえば、-nオプションで指定して新しく追加したノードなどです。 |
インストールの検査
インストールが正しく構成されているか確認するために、次の手順を実行します。
新規ノードがプライベート・インターコネクトにアクセスできることを確認します。この章で説明されている手順を実行する前に、このインターコネクトが正しく構成されている必要があります。
クラスタ・ファイル・システムを使用していない場合は、既存ノードでクラスタ・ソフトウェアがインストールされている位置を調べます。Oracle Clusterwareをインストールするために、それぞれの新規ノードについて同じ位置に250MB以上の空き領域があることを確認します。また、各ノードにOracleバイナリをインストールするのに十分な空き領域があることも確認します。
Oracle Cluster Registry(OCR)と投票ディスクに、他のノードが使用するパスと同じパスを使用して新規ノードからアクセスできることを確認します。また、OCRと投票ディスク・デバイスは、既存ノードと同じ権限を持っている必要があります。
LinuxおよびUNIXシステムでは、rshまたはsshを使用して、既存ノードと新規ノードの間のユーザー等価関係を確認します。Windowsシステムでは、クラスタのすべての既存ノードから次のコマンドを実行できることを確認します。hostnameは、新規ノードのパブリック・ネットワーク名です。
NET USE \\hostname\C$
次の応答がある場合は、必要な管理者権限が付与されています。
Command completed successfully.
この項の手順を完了すると、新規ノードはクラスタに接続され、Oracle Clusterwareに対して新規ノードを認識させるために必要なソフトウェアが構成されます。
|
注意: Oracle Clusterwareインストールの完了後は、ホスト名の変更(ドメイン修飾の追加または削除を含む)はしないでください。ホスト名を変更されたノードはクラスタから削除され、新しい名前で追加されます。 |
この項では、LinuxおよびUNIXシステムでのOracle Clusterwareホームの追加および削除について説明します。ここでは、「Oracle Clusterwareを追加するための必須手順」で説明している手順がすでに実行されていることを前提としています。
ノードの追加の場合は、必ずオペレーティング・システムの必須パッチおよび更新ファイルを新規ノードにインストールします。その後、ネットワーク・レベルでクラスタの一部になるように新規ノードを構成します。この項の指示に従って、既存のOracle Clusterwareホームから新規ノードにOracle Clusterwareホームを拡張します。
最後に、必要に応じてOracle Real Application Clusters(Oracle RAC)コンポーネントを含むOracle Databaseソフトウェアを新規ノードに拡張し、新規ノードを既存のOracle RACデータベースのメンバーにすることも可能です。ノードの追加手順の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
この項の内容は次のとおりです。
この項では、Oracle Universal Installerを使用してOracle Clusterwareホームをクラスタ内のノードに追加する方法を説明します。このマニュアルでは、次の項目を前提としています。
node1という名前のノードを持つクラスタが存在する
Oracle Clusterwareをnode2から追加する
Oracle Clusterwareがnode1の非共有ホームにすでにインストールされており、CRS_homeは正常にインストールされたホームを表す
次のいずれかの手順を使用して、Oracle Clusterwareホームをノードに追加します。
Oracle Universal Installerの対話モードを使用したOracle Clusterwareホームの新規ノードへの追加
Oracle Universal Installerのサイレント・モードを使用したOracle Clusterwareホームの新規ノードへの追加
この手順は、「Oracle Clusterwareを追加するための必須手順」で説明しているタスクが実行されていることを前提としています。Oracle Universal Installerでは、手順1でインストールの検査の一部として検証したプライベート・インターコネクトにアクセスする必要があります。必要な接続をOracle Universal Installerが確立できない場合、Oracle Clusterwareを他のノードに追加する次の手順を完了することができません。
|
注意: この手順の最初の6つの手順を実行するかわりに、addNode.shスクリプトをサイレント・モードで実行することもできます。「Oracle Universal Installerのサイレント・モードを使用したOracle Clusterwareホームの新規ノードへの追加」を参照してください。 |
クラスタ環境内で1つ以上のノードにOracle Clusterwareを正常にインストールしていることを確認します。また、これらの手順を正常に完了するには、CRS_homeが、正常にインストールされたOracle Clusterwareホームを指していることを確認する必要があります。
Oracle Universal Installerを起動します。
既存のノードの1つでCRS_home/oui/binに移動し、addNode.shスクリプトを実行します。Oracle Universal Installerがadd nodeモードで実行され、「ようこそ」ページが表示されます。「次へ」をクリックすると、「ノードを追加するクラスタ・ノードの指定」ページが表示されます。
Oracle Universal Installerのノード選択ページが表示されます。追加するノードを入力して、「次へ」をクリックします。
「ノードを追加するクラスタ・ノードの指定」ページの上の表には、Oracle Clusterwareに関連付けられている既存ノード、プライベート・ノード名および仮想IP(VIP)アドレスが表示されます。下の表を使用して、新規ノードのパブリック・ノード名、プライベート・ノード名および仮想ホスト名を入力します。
サマリー・ページに表示されたエントリを確認し、「次へ」をクリックします。
いずれかの検査に失敗した場合、「ノードを追加するクラスタ・ノードの指定」ページが再表示され、両方の表の「ステータス」列にエラーが表示されます。エラーを解決するか、エラーのあるノードの選択を解除して、先に進みます。ただし、既存ノードの選択は解除できません。すでにクラスタの一部であるノードについては、問題を解決しないと、ノードの追加を続行できません。すべての検査に成功すると、「ノード追加のサマリー」ページが表示されます。
「ノード追加のサマリー」ページには、新規ノードに拡張するOracle Clusterwareホームにインストールされる製品を示す次の情報が表示されています。
ノード追加プロセスのソース(この場合はOracle Clusterwareホーム)
新規ノードについて入力したプライベート・ノード名
入力した新規ノード
新規ノード上の必須領域および使用可能領域
既存のOracle Clusterwareホームにすでにインストールされている製品のリスト
「次へ」をクリックすると、「クラスタ・ノード追加の進捗状況」ページが表示されます。
「クラスタ・ノード追加の進捗状況」ページには、クラスタ・ノード追加プロセスのステータスが表示されます。このページの表には、ノード追加プロセスの次の4つのフェーズと各フェーズのステータスを示す2つの列があります。
ルート・スクリプトのインスタンス化: 「クラスタ・ノードの追加」ページに入力したパブリック・ノード名、プライベート・ノード名および仮想ホスト名でrootaddNode.shをインスタンス化します。
Oracle Clusterwareホームを新規ノードにコピー: Oracle Clusterwareホームがクラスタ・ファイル・システムにある場合を除き、Oracle Clusterwareホームを新規ノードにコピーします。
クラスタ・インベントリの保存: Oracle Clusterwareホームおよびそのインベントリと関連付けられたノード・リストを更新します。
rootaddNode.shおよびroot.shの実行: ローカル・ノード(Oracle Universal Installerを実行しているノード)でrootaddNode.shスクリプト脚注1を実行し、新規ノードでroot.shスクリプト脚注2を実行するように求めるダイアログが表示されます。新規ノードにインベントリの位置が存在しないことがOracle Universal Installerによって検出された場合は、それらのノードでorainstRoot.shスクリプト脚注3を実行するように求められます。中央インベントリの位置はローカル・ノードと同じです。addNodeActionstimestamp.logファイル(timestampはセッションの開始日時)に、実行する必要のあるスクリプトとそれらを実行する必要のあるノードに関する情報が格納されています。
「クラスタ・ノード追加の進捗状況」ページの「ステータス」列には、フェーズの進行中は「処理中です」、フェーズの実行が保留中は「停止中です」、フェーズ完了後は「成功しました」と表示されます。完了後に、「終了」をクリックします。「ノード追加の終了」ページが表示されたら、「終了」をクリックします。
次の例に示すように、既存ノードで、CRS_home/binディレクトリからOracle Notification Service構成ユーティリティ(RACGONS)を実行します。remote_portはデフォルトのポート番号6251(ポート6251が使用できない場合は他の使用可能なポート)、node2は追加するノードの名前を表します。
./onsconfig add_config node2:remote_port
次の操作を実行して、クラスタが統合されており、パーティションに分割されていないことを確認します。
次のCVUコマンドを実行して、Oracle RAC環境の一部となっているすべてのノードにおけるCluster Manager整合性の検査についての詳細な出力を取得します。
cluvfy comp clumgr -n all [-verbose]
次のCVUコマンドを使用して、Oracle RAC環境の一部となっているすべてのノードにおけるクラスタ整合性の検査についての詳細な出力を取得します。
cluvfy comp clu [-verbose]
次のコマンドを使用して、すべての構成済ノード(既存ノードと新しく追加したノードの両方)におけるOracle Clusterware設定の統合検査を実行します。
cluvfy stage -post crsinst -n all [-verbose]
|
関連項目: CVUの有効化および使用方法の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。 |
クラスタ環境内で1つ以上のノードにOracle Clusterwareを正常にインストールしていることを確認します。次の手順を実行するには、CRS_homeが、正常にインストールされたOracle Clusterwareホームを指している必要があります。
CRS_home/oui/binに移動し、次の構文を使用してaddNode.shスクリプトを実行します。node2は追加する新規ノードの名前、node2-privは新規ノードのプライベート・ノード名、node2-vipは新規ノードのVIP名です。
./addNode.sh –silent "CLUSTER_NEW_NODES={node2}"
"CLUSTER_NEW_PRIVATE_NODE_NAMES={node2-priv}"
"CLUSTER_NEW_VIRTUAL_HOSTNAMES={node2-vip}"
または、例4-1に示すエントリをレスポンス・ファイルに記述したうえで、次のようにaddNodeスクリプトを実行することもできます。
addNode.sh -silent -responseFile filename
例4-1 Oracle Clusterwareホームを追加するためのレスポンス・ファイルのエントリ
CLUSTER_NEW_NODES = {"newnode1","newnode2"}
CLUSTER_NEW_PRIVATE_NODE_NAMES = {"newnode1-priv","newnode2-priv"}
CLUSTER_NEW_VIRTUAL_HOSTNAMES = {"newnode1-vip","newnode2-vip"}
|
関連項目: コマンドライン・レスポンス・ファイルの構成方法の詳細は、『Oracle Universal InstallerおよびOpatchユーザーズ・ガイド』を参照してください。 |
|
注意: コマンドラインの値は、常にレスポンス・ファイルの値に優先します。 |
「Oracle Universal Installerの対話モードを使用したOracle Clusterwareホームの新規ノードへの追加」の項の7および8を実行します。
Oracle Clusterwareホームを削除する手順では、Oracle Clusterwareホームを削除するノードに、Oracle Clusterwareが正常にインストールされていることを前提としています。
|
注意: ノードの削除処理を完了した後、投票ディスクとOCRファイルをバックアップすることをお薦めします。 |
この項の内容は次のとおりです。
次の手順に従って、Oracle Clusterwareをクラスタ・ノードから削除します。
手順1 Oracle Clusterwareホームの場所の検証
CRS_homeが各ノード上のOracle Clusterwareホームへの完全なディレクトリ・パスを正しく指定していることを確認します。CRS_homeは、Oracle Clusterwareソフトウェアをインストールした場所です。
手順2 格納されたネットワーク構成の削除
|
注意: Oracle Universal Installerなどによるインストールで、-globalオプションを使用してOracle Interface Configuration(OIFCFG)ツールを実行する場合、この手順は不要です。 |
クラスタに残すノードでは、CRS_home/binディレクトリから次のコマンドを実行します。node2は、削除対象のノードの名前です。
./oifcfg delif –node node2
手順3 リモート・ポート番号の取得
ocrdump dump_file_nameコマンドを実行して、OCRのダンプを作成します。ダンプ・ファイルを開いてONS_HOSTS.hostName.PORTを検索します。次の行に、リモート・ポート番号があります。
手順4 ONSデーモンの構成の削除
クラスタ内の一部として残すノードで、CRS_home/binからOracle Notification Service(RACGONS)ユーティリティを実行します。次の例で、remote_port変数は、手順3で取得したONSリモート・ポート番号、node2は削除対象のノードの名前です。
./racgons remove_config node2:remote_port
手順5 Oracle Clusterwareアプリケーションの無効化
削除対象のノードで、rootユーザーとしてCRS_home/installディレクトリからrootdelete.shスクリプトを実行し、そのノード上で実行中のOracle Clusterwareアプリケーションおよびデーモンを無効にします。複数のノードからOracle Clusterwareを削除する場合、削除対象の各ノードでこの手順を実行します。
手順6 ノードの削除とクラスタ・レジストリの更新
削除対象でないノードで、CRS_home/installディレクトリからrootユーザーとして次のコマンドを実行して、クラスタからノードを削除し、Oracle Cluster Registry(OCR)を更新します。次のコマンドで、変数node2,node2-numberは、削除対象のノードおよびノード番号を表します。
./rootdeletenode.sh node2,node2-number
必要に応じて、削除対象のノードで次のコマンドを使用してノード番号を識別します。
CRS_home/bin/olsnodes -n
手順7 ノード・リストからのノードの削除
削除対象の各ノードで、CRS_home/oui/binディレクトリから次のコマンドを実行します。node_to_be_deletedは、削除対象のノードの名前です。
./runInstaller -updateNodeList ORACLE_HOME=CRS_home "CLUSTER_NODES={node_to_be_deleted}" CRS=TRUE -local
手順8 Oracle Clusterwareソフトウェアのデタッチまたは削除
削除対象のノードで、CRS_home/oui/binディレクトリからrunInstallerコマンドを使用してOracle Universal Installerを実行します。Oracleホームが共有か非共有かに応じて、次のいずれかの手順を実行します。
共有ホームの場合は、削除対象でない任意のノードで、CRS_home/oui/binディレクトリから次のコマンドを実行します。
./runInstaller -detachHome ORACLE_HOME=CRS_home
非共有ホームの場合は、Oracle_home/oui/binディレクトリから次のコマンドを発行し、Oracle Universal Installerを使用して削除対象のノードからOracle Clusterwareホームを削除します。CRS_homeは、Oracle Clusterwareホームに定義されている名前です。
./runInstaller -deinstall "REMOVE_HOMES={CRS_home}"
手順9 残りのノード上のノード・リストの更新
削除対象でない任意のノードで、CRS_home/oui/binディレクトリから次のコマンドを実行します。remaining_nodes_listは、クラスタの一部として残すノードのカンマ区切りのリストです。
./runInstaller -updateNodeList ORACLE_HOME=CRS_home "CLUSTER_NODES={remaining_nodes_list}" CRS=TRUE
ローカル・ディスクが破損した、サーバーで障害が発生した、サーバーが物理的に削除されたなどの様々な理由でノードにアクセスできない場合があります。障害が発生したノードであっても、その定義はリポジトリから削除する必要があります。
リポジトリからノード定義を削除するには、クラスタ内の正常なノードで次の手順を実行します。
手順1 障害が発生したノードのOIFCFG情報の削除
rootとして次のコマンドを実行します。
# oifcfg getif
コマンドがglobal(eth0 123.456.0.0 global publicなど)を戻した場合は、手順2に進みます。それ以外の場合は、rootとして次のコマンドを実行します。
# oifcfg delif -node name_of_node_to_be_deleted
手順2 ONS情報の削除
rootとして次のコマンドを実行し、この手順で使用するローカル・ポート番号を特定します。
# cat CRS_home/opmn/conf/ons.config
rootとして次のコマンドを実行し、障害が発生したノードからONS情報を削除します。
# CRS_home/bin/racgons remove_config name_of_node_to_be_deleted:local_port_number
手順3 リソースの削除
障害が発生したノードに定義されているリソースは、削除する必要があります。データベース、インスタンス、ASMなどのリソースは、crs_stat -tコマンドを実行して特定できます。特定した後、srvctl removeコマンドを使用してリソースを削除します。
|
関連項目: srvctl removeコマンドの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。 |
手順4 rootdeletenode.shの実行
削除するノードの名前が不明な場合は、rootとして次のコマンドを実行します。
# CRS_home/bin/olsnodes -p
そうでない場合は、rootとして次のコマンドを実行します。
# CRS_home/install/rootdeletenode.sh name_of_node_to_be_deleted
手順5 インベントリの更新
CRS_homeの所有者として次のコマンドを実行します。CLUSTER_NODESパラメータの値には、クラスタに残すノードの名前のカンマ区切りリストを使用します。
$ CRS_home/oui/bin/runInstaller -updateNodeList ORACLE_HOME=CRS_HOME "CLUSTER_NODES=remaining_node1, remaining_node2,..." CRS=TRUE
この項では、WindowsシステムでのOracle Clusterwareホームの追加および削除について説明しています。
|
注意: Windowsシステムで、Oracle Database 10gリリース1(10.1)からアップグレードされた構成の場合、Oracle Clusterwareの拡張には、この項で説明する手順を使用しないでください。この場合は、第3章「Oracle Clusterwareのクローニング」で説明されているクローニング手順に従って、クラスタ内の追加のノードにOracle Clusterwareを拡張します。 |
ノードの追加の場合は、必ずオペレーティング・システムの必須パッチおよび更新ファイルを新規ノードにインストールします。その後、ネットワーク・レベルでクラスタの一部になるように新規ノードを構成します。次の項の指示に従って、既存のOracle Clusterwareホームから新規ノードにOracle Clusterwareホームを拡張します。
最後に、必要に応じてOracle RACコンポーネントを含むOracle Databaseソフトウェアを新規ノードに拡張し、新規ノードを既存のOracle RACデータベースのメンバーにすることも可能です。ノードの追加手順の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
この項の内容は次のとおりです。
この項では、Oracle Universal Installerを使用してOracle Clusterwareに新規ノードを追加する方法について説明します。Oracle Universal Installerでは、「Oracle Clusterwareを追加するための必須手順」の項で検証したプライベート・インターコネクトにアクセスする必要があります。
次の手順を実行します。
いずれかの既存ノードでCRS_home\oui\binディレクトリに移動し、addnode.batスクリプトを実行してOracle Universal Installerを起動します。
Oracle Universal Installerがadd nodeモードで実行され、「ようこそ」ページが表示されます。「次へ」をクリックすると、「ノードを追加するクラスタ・ノードの指定」ページが表示されます。
「ノードを追加するクラスタ・ノードの指定」ページの上の表には、Oracle Clusterwareに関連付けられている既存ノード、プライベート・ノード名および仮想IP(VIP)アドレスが表示されます。下の表を使用して、新規ノードのパブリック・ノード名、プライベート・ノード名および仮想ホスト名を入力します。
「次へ」をクリックすると、Oracle Universal Installerが既存ノードと新規ノードで接続性を検査します。Oracle Universal Installerが実行する検査は次のとおりです。
ノードが起動しているか
ネットワークからノードにアクセスできるか
|
注意: 一部の既存ノードが停止している場合でも、この手順を続行することは可能です。ただし、それらのノードの起動後に、各ノードで次のコマンドを実行する必要があります。
setup.exe -updateNodeList -local
"CLUSTER_NODES={available_node_list}"
ORACLE_HOME=CRS_home
この操作は、 |
仮想ホスト名がネットワーク上ですでに使用されていないか
新規ノードにOracle Clusterwareホームを作成するための書込み権限がユーザーに付与されているか
C:\Program Files\Oracle\InventoryディレクトリのOracle Universal Installerインベントリへの書込み権限がユーザーに付与されているか
新規ノードにインベントリの位置が存在しないことがOUIによって検出された場合は、次の処理が実行されます。
レジストリ・キーのインベントリの位置がOracle Universal Installerによって自動的に更新されます。
いずれかの検査に失敗した場合、「ノードを追加するクラスタ・ノードの指定」ページが再表示され、両方の表の「ステータス」列にエラーが表示されます。エラーを解決するか、エラーのあるノードの選択を解除して、先に進みます。ただし、既存ノードの選択は解除できません。すでにクラスタの一部であるノードについては、問題を解決しないと、ノードの追加を続行できません。すべての検査に成功すると、「ノード追加のサマリー」ページが表示されます。
「ノード追加のサマリー」ページには、新規ノードに拡張するOracle Clusterwareホームにインストールされる製品を示す次の情報が表示されています。
ノード追加プロセスのソース(この場合はOracle Clusterwareホーム)
新規ノードについて入力したプライベート・ノード名
入力した新規ノード
新規ノード上の必須領域および使用可能領域
既存のOracle Clusterwareホームにすでにインストールされている製品のリスト
「次へ」をクリックすると、「クラスタ・ノード追加の進捗状況」ページが表示されます。
「クラスタ・ノード追加の進捗状況」ページには、クラスタ・ノード追加プロセスのステータスが表示されます。このページの表には、ノード追加プロセスのフェーズと各フェーズのステータスを示す次のような2つの列があります。
このページには、次の3つのOracle Universal Installerフェーズが表示されます。
Oracle Clusterwareホームを新規ノードにコピー: Oracle ClusterwareホームがOracleクラスタ・ファイル・システムにある場合を除き、Oracle Clusterwareホームを新規ノードにコピーします。
Oracleホーム設定の実行: 新規ノードのレジストリ・エントリの更新、サービスの作成およびフォルダ・エントリの作成を実行します。
クラスタ・インベントリの保存: Oracle Clusterwareホームおよびそのインベントリと関連付けられたノード・リストを更新します。
「クラスタ・ノード追加の進捗状況」ページの「ステータス」列には、フェーズの進行中は「処理中です」、フェーズの実行が保留中は「停止中です」、フェーズ完了後は「成功しました」と表示されます。完了後に、「終了」をクリックします。「ノード追加の終了」ページが表示されたら、「終了」をクリックします。
node1のCRS_home\installから、crssetup.add.batスクリプトを実行します。
次のコマンドを使用して、すべての構成済ノード(既存ノードと新しく追加したノードの両方)におけるOracle Clusterware設定の統合検査を実行します。
cluvfy stage -post crsinst -n all [-verbose]
CVU -post crsinstステージ・チェックによって、Oracle Clusterwareコンポーネントの整合性が検証されます。この項の手順に従い、Oracle Clusterwareレイヤーでノードの追加を完了すると、Oracle Clusterwareホームが既存のOracle Clusterwareホームから新規ノードに正しく拡張されたことになります。手順3に進み、新規ノードでOracle RACの記憶域を準備してください。
手順1から6のかわりに、次のようにしてaddnode.batをサイレント・モードで実行することもできます。nodeI、nodeI+1などは、追加対象の新規ノードです。
addnode.bat -silent "CLUSTER_NEW_NODES={nodeI,nodeI+1,…nodeI+n}"
"CLUSTER_NEW_PRIVATE_NODE_NAMES={node-privI,node-privI+1,…node-privI+n}"
"CLUSTER_NEW_VIRTUAL_HOSTNAMES={node-vipI,node-vipI+1,…,node-vipI+n}"
または、例4-2に示すエントリをレスポンス・ファイルに記述したうえで、次のようにaddnodeを実行することもできます。
addnode.bat -silent -responseFile filename
例4-2 Oracle Clusterwareホームを追加するためのレスポンス・ファイルのエントリ
CLUSTER_NEW_NODES = {"newnode1","newnode2"}
CLUSTER_NEW_PRIVATE_NODE_NAMES = {"newnode1-priv","newnode2-priv"}
CLUSTER_NEW_VIRTUAL_HOSTNAMES = {"newnode1-vip","newnode2-vip"}
コマンドラインの値は、常にレスポンス・ファイルの値に優先します。
|
関連項目: コマンドライン・レスポンス・ファイルの構成方法の詳細は、『Oracle Universal InstallerおよびOpatchユーザーズ・ガイド』を参照してください。 |
ローカル・ノードまたはこの手順を実行しているノードで、8および9を実行します。
この項の手順に従い、Oracle Clusterwareレイヤーでノードの追加を完了すると、Oracle Clusterwareホームが既存のOracle Clusterwareホームから追加ノードに正しく拡張されたことになります。
この項では、WindowsシステムからOracle Clusterwareを削除する方法について説明します。これらの手順は、node1およびnode2にOracle Clusterwareホームがインストールされており、クラスタからnode2を削除することを想定しています。
この項の内容は次のとおりです。
Oracle Universal Installerの対話モードを使用したOracle Clusterwareホームの削除
Oracle Universal Installerのサイレント・モードを使用したOracle Clusterwareホームの削除
|
注意: ノードの追加手順または削除手順の終了後は、投票ディスクおよびOracle Cluster Registry(OCR)ファイルをバックアップすることをお薦めします。 |
Oracle Universal Installerを使用してノードからOracle Clusterwareホームを削除するには、次の手順を実行します。
データベース・ホームでノードの削除操作を実行します。詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。
|
注意: Oracle Universal Installerなどによるインストールで、-globalオプションを使用してOracle Interface Configuration(OIFCFG)ツールを実行する場合、この手順は不要です。 |
node1から、CRS_home\binディレクトリで、次のコマンドを実行します。node2は、削除しているノードの名前です。
oifcfg delif –node node2
node1から、CRS_home\binディレクトリで、次のコマンドを実行します。remote_portは、ONSリモート・ポート番号です。
racgons remove_config node2:remote_port
リモート・ポート番号を判断するには、%CRS_HOME%\binから、ocrdump dump_file_nameを実行してOCRダンプを作成します。ダンプ・ファイルを開いてONS_HOSTS.hostName.PORTを検索します。次の行に、ONSのリモート・ポート番号があります。次に例を示します。
ORATEXT : 6251
デフォルトのリモート・ポートは、6251です。
node2からnodeappsを停止および削除するには、srvctlを実行します。CRS_home/binから次のコマンドを実行します。
srvctl stop nodeapps –n node2 srvctl remove nodeapps –n node2
node1、または削除対象でない任意のノードで、CRS_home\binから次のコマンドを実行します。node_nameは削除対象のノード、node_numberは、olsnodes -nコマンドの出力から取得したノードの番号です。
crssetup del –nn node_name,node_number
削除対象の各ノード(この例ではnode2)で、CRS_home\oui\binから次のコマンドを実行します。
setup.exe –updateNodeList ORACLE_HOME=CRS_home
"CLUSTER_NODES={node2}" CRS=TRUE –local
node2で、CRS_home\oui\binからOracle Universal Installer setup.exeを使用して、次の手順を実行します。
非共有ホームの場合は、CRS_home\oui\binからsetup.exeスクリプトを実行して、Oracle Clusterwareのインストールを削除します。
共有ホームの場合は、削除を実行しないでください。かわりに、CRS_home\oui\binから次のコマンドを実行して、node2のOracle Clusterwareホームをデタッチします。
setup.exe –detachHome –silent ORACLE_HOME=CRS_home
node1、または複数のノードがインストールされている場合は削除対象でないいずれかのノードで、CRS_home\oui\binから次のコマンドを実行します。node_listは、Oracle Clusterwareの一部として残すノードのカンマ区切りのリストです。
setup.exe –updateNodeList ORACLE_HOME=CRS_home "CLUSTER_NODES={node_list}" CRS=TRUE
node2で、このOracle Clusterwareホームに関連付けられているすべてのサービスを停止および削除します。また、このOracle Clusterwareホームに関連付けられているすべてのレジストリ・エントリおよびパス・エントリを削除します。このOracle Clusterwareホームに関連付けられているすべての「スタート」メニュー項目も削除します。中央インベントリおよびファイルを削除します。Oracleホームが共有である場合、CRS_homeは削除しないでください。
Oracle Universal Installerのサイレント・モードを使用してOracle Clusterwareホームを削除するには、次の手順を実行します。
前述のOracle Universal Installerの対話形式での使用に関する項(「Oracle Universal Installerの対話モードを使用したOracle Clusterwareホームの削除」を参照)の手順1から6を実行して、Oracle Clusterwareレイヤーでノードを削除します。
node2で、Oracle Universal Installerのsetup.exeを使用し、次のようにしてCRS_home\oui\binからOracle Clusterwareホームを削除します。
setup.exe –silent -deinstall "REMOVE_HOMES={CRS_home}"
Oracleホームが共有の場合、CRS_home\oui\binから次のコマンドを実行して、node2のOracle Clusterwareホームをデタッチします。
setup.exe –detachHome –silent ORACLE_HOME=CRS_home
「Oracle Universal Installerの対話モードを使用したOracle Clusterwareホームの削除」で、前述の手順8および9を実行し、ノード・リストを更新します。
脚注の説明
脚注1: Oracle Universal Installerを実行しているノードで、CRS_home/install/ディレクトリからrootaddNode.shスクリプトを実行します。orainstRoot.shスクリプトを実行するように要求された場合は、実行します。