12 WindowsシステムのノードでのOracle RACの追加と削除
次の手順を使用して、Microsoft Windows上の既存のOracle Real Application Clusters (Oracle RAC)ホームをクラスタ内の他のノードおよびインスタンスに拡張したり、Oracle RACをクラスタ内のノードおよびインスタンスから削除します。
次のトピックでは、Grid_home
のエントリはOracle Grid Infrastructureホームのフル・パス名を指し、Oracle_home
のエントリはOracle RACを含むOracleホームの環境変数の代替を指します。
既存のOracle RACホームをクローニングし、クラスタ全体で複数の新規Oracle RACインストールを作成する場合は、「新規クラスタのノードへのOracle RACのクローニング」に示すクローニング手順に従います。
ノート:
-
ocrconfig -showbackup
コマンドを実行してOracle RACの追加または削除を行う前に、Oracle Cluster Registry(OCR)の現行のバックアップがあることを確認してください。 -
ノードの追加とノードの削除のすべての手順で、
%TEMP%
、C:\Temp
などの一時ディレクトリは、共有ディレクトリにしないでください。一時ディレクトリが共有されていると、%TEMP%
などの一時環境変数にはローカル・ノードにある場所が設定されます。また、すべてのノードに存在するディレクトリ・パスを使用してください。
- Oracle Grid InfrastructureがインストールされたノードへのOracle RACの追加
Oracle Clusterwareクラスタ・ノードであるMicrosoft WindowsノードにOracle Real Application Clustersを追加するには、次の手順を確認します。 - ターゲット・ノードへの管理者管理Oracle RACデータベース・インスタンスの追加
Oracle DBCAを使用してOracle RACデータベース・インスタンスを追加する方法について学習します。 - クラスタ・ノードからのOracle RACの削除
Oracle Grid InfrastructureがインストールされたノードへのOracle RACの追加
Oracle Clusterwareクラスタ・ノードであるMicrosoft WindowsノードにOracle Real Application Clustersを追加するには、次の手順を確認します。
これらの手順を開始する前に、既存ノードのGrid_home
へのパスが正しいこと、およびOracle_home
環境変数が正しく設定されていることを確認します。
既存ノードでのOracle RACホームの拡張
Oracle Grid InfrastructureがすでにインストールされているノードにOracle RACデータベース・インスタンスを追加するには、クラスタの既存のノード(この手順ではnode1
)にあるOracle RACホームをターゲット・ノードに拡張する必要があります。
-
node1
のOracle_home\addnode
ディレクトリに移動し、次の構文を使用してaddnode.bat
スクリプトを実行します(ここで、node2
は追加するノードの名前です)。addnode.bat "CLUSTER_NEW_NODES={node2}"
このコマンドをサイレント・モードで実行するには:
addNode.bat -silent "CLUSTER_NEW_NODES={node2}"
使用するOracleホーム・ディレクトリで、Oracle DatabaseソフトウェアをインストールしたときにOracleホーム・ユーザーを指定した場合、OUIではOracleホーム・ユーザーのパスワードが必要になります。OUIは、ユーザーの(OCRに格納されている)ウォレットをチェックし、そこからパスワードを抽出します。ユーザー情報がウォレットに含まれていない場合は、コマンドラインで
-promptPasswd
フラグを指定しないかぎり、addnode.bat
スクリプトによってエラーが生成されます。
共有ファイル・システムでのOracleホームのマウント・ポイントの作成
Oracle ACFS以外の共有ファイル・システムで共有Oracleホームを持つ場合は、まずターゲット・ノードでOracle RACデータベース・ホームのマウント・ポイントを作成し、Oracle RACデータベース・ホームをマウントおよびアタッチし、次のようにOracle Inventoryを更新します。
-
クラスタ内の既存ノードで
srvctl config database -db db_name
コマンドを実行して、マウント・ポイント情報を取得します。 -
Oracle RACデータベース・ホームをホストするファイル・システムをマウントします。
-
Oracle RACをインストールしたユーザーとして、追加したノードの
Oracle_home\oui\bin
ディレクトリから次のコマンドを実行し、Oracle RACデータベース・ホームを追加します。setup.exe -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER_NODES= local_node_name}" LOCAL_NODE="node_name" ORACLE_HOME_NAME="home_name"
-
Oracle RACをインストールしたユーザーとして、次のようにOracle Inventoryを更新します。
setup.exe -updateNodeList ORACLE_HOME=mount_point_path "CLUSTER_NODES={node_list}"
前述のコマンドで、
node_list
はOracle RACデータベース・ホームがインストールされたすべてのノード(追加したものも含む)のリストです。
ノート:
ノード追加プロセスの終了後は、投票ディスクおよびOracle Cluster Registry(OCR)ファイルをバックアップすることをお薦めします。
ターゲット・ノードへの管理者管理Oracle RACデータベース・インスタンスの追加
Oracle DBCAを使用してOracle RACデータベース・インスタンスを追加する方法について学習します。
Oracle RACデータベース・インスタンスをターゲット・ノードに追加するには、Oracle Enterprise ManagerまたはOracle Database Configuration Assistant (Oracle DBCA)のいずれかを使用できます。次のトピックでは、Oracle DBCAの使用について説明します
- Oracle DBCAを使用したOracle RACインスタンスの追加について
Oracle Database Configuration Assistant (Oracle DBCA)を使用してOracle Real Application ClustersインスタンスをOracle Clusterwareに追加すると、単なるデータベースのデプロイメントより多くのことを完了できます。 - 対話モードでのOracle DBCAを使用したターゲット・ノードへのデータベース・インスタンスの追加
次の手順では、まずOracle DBCAを使用してデータベース・インスタンスをターゲット・ノードに追加し、次にOracle Services for Microsoft Transaction Server (OraMTS
)のサービスを作成します。 - サイレント・モードでのOracle DBCAを使用したターゲット・ノードへのデータベース・インスタンスの追加
Oracle ClusterwareホームおよびOracle Databaseホームを拡張したノードにインスタンスを追加します。
Oracle DBCAを使用したOracle RACインスタンスの追加について
Oracle Database Configuration Assistant (Oracle DBCA)を使用してOracle Real Application ClustersインスタンスをOracle Clusterwareに追加すると、単なるデータベースのデプロイメントより多くのことを完了できます。
Oracle DBCAでは次のタスクを順に実行できます。
-
各ターゲット・ノードでの新規データベース・インスタンスの作成
-
高可用性コンポーネントの作成および構成
-
Oracleホームからのデフォルト以外のリスナー用のOracle Net構成の作成
-
新規インスタンスの起動
-
サービス構成ページでサービス情報を入力した場合、サービスの作成および起動
ターゲット・ノードにインスタンスを追加した後で、必要なサービス構成手順を実行する必要があります。
対話モードでのOracle DBCAを使用したターゲット・ノードへのデータベース・インスタンスの追加
次の手順では、まずOracle DBCAを使用してデータベース・インスタンスをターゲット・ノードに追加し、次にOracle Services for Microsoft Transaction Server (OraMTS
)のサービスを作成します。
ターゲット・ノードへのデータベース・インスタンスの追加
対話モードでOracle DBCAを使用してターゲット・ノードにデータベース・インスタンスを追加するには、次のステップを実行します。
-
既存ノードのOracleホーム環境変数が正しく設定されていることを確認します。
-
既存ノードの
Oracle_home\bin
ディレクトリから、システム・プロンプトでdbca
を入力してOracle DBCAを起動します。Oracle DBCAの実行中に、CVUの特定のチェックが実行されます。ただし、コマンドラインからCVUを実行して、様々な検証を実行することもできます。
-
「データベース操作」ページで、「インスタンス管理」を選択し、「次へ」をクリックすると、Oracle DBCAには「インスタンス管理」ページが表示されます。
-
「インスタンスの追加」を選択し、「次へ」をクリックします。Oracle DBCAによって「クラスタ・データベースのリスト」ページが表示され、データベースおよび現在のステータス(
ACTIVE
やINACTIVE
など)が表示されます。 -
「クラスタ・データベースのリスト」ページで、インスタンスを追加するアクティブなOracle RACデータベースを選択します。「次へ」をクリックすると、Oracle DBCAによって選択したOracle RACデータベースの既存のインスタンスの名前を示す「クラスタ・データベース・インスタンスのリスト」ページが表示されます。
-
新規インスタンスを追加するには、「次へ」をクリックします。Oracle DBCAによって「インスタンスの追加」ページが表示されます。
-
「インスタンスの追加」ページで、Oracle DBCAに表示されるインスタンス名が既存のインスタンス名スキームと合致しない場合には、このページの最上部のフィールドにインスタンス名を入力します。次に、リストから新しいノード名を選択します。
ノート:
「Oracleホーム・ユーザー」オプションとともにOracleホームをインストールした場合、Oracle DBCAによって、このページでパスワードが求められます。
-
「サマリー」ページの情報を確認し、「終了」をクリックしてインスタンス追加操作を開始します。Oracle DBCAがインスタンス追加操作を実行中であることを示す進捗ダイアログ・ボックスが表示されます。
OraMTS Service for Microsoft Transaction Serverの作成
Oracle Services for Microsoft Transaction Server (OraMTS
)を使用すると、Microsoftアプリケーションで調整されるトランザクション内で、リソース・マネージャとしてOracle Databaseを使用できます。OraMTS
は、Microsoft分散トランザクション・コーディネータ(MSDTC
)に対するOracle Databaseのプロキシとして機能します。この結果、OraMTS
によってクライアント側の接続プールが提供され、Oracleを利用するクライアント・コンポーネントが昇格可能な分散トランザクションに参加できるようになります。また、サービス自体がWindowsで実行される場合、OraMTS
は、任意のオペレーティング・システム上で実行されているOracle Databaseと連携して動作できます。
Oracle Database 12cより前のリリースでは、OraMTS
サービスはソフトウェアのみのインストールの一部として作成されました。Oracle Database 12c以降のリリースでは、構成ツールを使用してこのサービスを作成する必要があります。
ノードの追加後、またはOracle RACについてソフトウェアのみのインストールを実行した後にOraMTS
サービスを作成するには、次の手順を実行します。
-
コマンド・ウィンドウを開きます。
-
ディレクトリを
%ORACLE_HOME%\bin
に変更します。 -
OraMTSCtl
ユーティリティを実行してOraMTS
サービスを作成します(host_name
はサービスが作成されるノードのリストです)。C:\..bin> oramtsctl.exe -new -host host_name
サイレント・モードでのOracle DBCAを使用したターゲット・ノードへのデータベース・インスタンスの追加
Oracle ClusterwareホームおよびOracle Databaseホームを拡張したノードにインスタンスを追加します。
次の構文とともにサイレント・モードでOracle DBCAを使用します。
dbca -silent -addInstance -nodeName node_name -gdbName gdb_name
[-instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password]
必要なサービス構成手順を実行します。
クラスタ・ノードからのOracle RACの削除
クラスタ・ノードからOracle Real Application Clusters (Oracle RAC)を削除するには、データベース・インスタンスおよびOracle RACソフトウェアを削除した後で、クラスタからそのノードを削除する必要があります。
ノート:
削除するノードにデータベース・インスタンスがない場合は、Oracle RACを削除します。
- 管理者管理データベースからのインスタンスの削除
管理者管理データベース・インスタンスの削除では、Oracle Database Configuration Assistant (Oracle DBCA)を使用してデータベース・インスタンスを削除します。 - サイレント・モードでのOracle DBCAによるノードからのインスタンスの削除
サイレント・モードでOracle DBCAを使用して、ノードからデータベース・インスタンスを削除できます。 - 対話モードでのOracle DBCAによるノードからのインスタンスの削除
対話モードでOracle Database Configuration Assistasnt (Oracle DBCA )を使用してOracle Real Application Clusters (Oracle RAC)インスタンスを削除するには、次の手順を実行します。 - Oracle RACの削除
この手順では、クラスタから削除するノードからOracle RACソフトウェアを削除し、残りのノードのインベントリを更新します。 - クラスタからのノードの削除
インスタンスを削除すると、クラスタからノードを削除するプロセスを開始できます。
管理者管理データベースからのインスタンスの削除
管理者管理データベース・インスタンスの削除では、Oracle Database Configuration Assistant (Oracle DBCA)を使用してデータベース・インスタンスを削除します。
ノート:
Oracle RACデータベースからインスタンスを削除する前に、SRVCTLを使用して次の操作を実行します。
-
サービスが構成されている場合は、サービスを再配置します。
-
各サービスを残りのインスタンスの1つで実行できるように、サービスを変更します。
-
管理者管理データベースから削除されるインスタンスが、何らかのサービスの優先インスタンスまたは使用可能インスタンスではないことを確認します。
関連トピック
親トピック: クラスタ・ノードからのOracle RACの削除
サイレント・モードでのOracle DBCAによるノードからのインスタンスの削除
サイレント・モードでOracle DBCAを使用して、ノードからデータベース・インスタンスを削除できます。
インスタンスを削除するには、次のコマンド構文を使用します。次の例に示すとおり、Oracle DBCAが実行されているノード以外からインスタンスを削除する場合のみ、ノード名を指定します(password
はSYSDBAパスワードです)。
dbca -silent -deleteInstance [-nodeName node_name] -gdbName gdb_name -instanceName instance_name [-sysDBAUserName sysdba] [-sysDBAPassword password]
表12-1 Oracle DBCAサイレント・モード構文の変数
変数 | 説明 |
---|---|
node_name |
インスタンスの追加(または削除)対象のノード。 |
gdb_name |
グローバル・データベース名。 |
instance_name |
インスタンスの名前。Oracle RACインスタンス名に関するOracleネーミング規則を使用せずにインスタンス名を指定する場合にのみ、インスタンス名を指定します。 |
sysdba |
|
password |
|
この時点で、次の作業が完了しました。
-
関連付けられたOracle Net Servicesリスナーからの選択されたインスタンスの登録解除
-
インスタンスの構成ノードからの選択されたデータベース・インスタンスの削除
-
Oracle Net構成の削除
-
インスタンスの構成ノードからのOracle Flexible Architectureディレクトリ構造の削除
親トピック: クラスタ・ノードからのOracle RACの削除
対話モードでのOracle DBCAによるノードからのインスタンスの削除
対話モードでOracle Database Configuration Assistasnt (Oracle DBCA )を使用してOracle Real Application Clusters (Oracle RAC)インスタンスを削除するには、次の手順を実行します。
-
OCRの現行のバックアップがあることを確認します。
ocrconfig -showbackup
コマンドを実行して、有効なバックアップがあることを確認します。 -
Oracle DBCAを起動します。
削除するインスタンスをホストしているノード以外のノードで、Oracle DBCAを起動します。削除するデータベースおよびインスタンスは、このステップの間、起動し、実行し続ける必要があります。
-
Oracle DBCAの「操作」ページで、「インスタンス管理」を選択し、「次へ」をクリックすると、Oracle DBCAには「インスタンス管理」ページが表示されます。
-
「インスタンス管理」ページで、「インスタンスの削除」を選択して、「次へ」をクリックします。Oracle DBCAによって「クラスタ・データベースのリスト」ページが表示されます。
-
インスタンスを削除するOracle RACデータベースを選択します。「次へ」をクリックすると、Oracle DBCAによって「クラスタ・データベース・インスタンスのリスト」ページが表示されます。「クラスタ・データベース・インスタンスのリスト」ページには、選択したOracle RACデータベースに関連付けられたインスタンスと各インスタンスのステータスが表示されます。
-
「クラスタ・データベースのリスト」ページで、次のように、インスタンスを削除するOracle RACデータベースを選択します。
-
この「クラスタ・データベース・インスタンスのリスト」ページには、Oracle DBCAによって選択したOracle RACデータベースに関連付けられたインスタンスと各インスタンスのステータスが表示されます。インスタンスを削除するクラスタ・データベースを選択します。「終了」をクリックします。
-
「確認」ダイアログ・ボックスで「OK」をクリックし、インスタンスの削除を続行します。
-
次の「確認」ダイアログ・ボックスで「OK」をクリックし、インスタンスおよび関連するOptimal Flexible Architecture(OFA)ディレクトリ構造を削除します。
Oracle DBCAがインスタンスを削除していることを示す進捗ダイアログ・ボックスが表示されます。この操作の中で、Oracle DBCAはインスタンスとそのインスタンスのOracle Net構成を削除します。
Oracle DBCAを終了する場合は「いいえ」を、別の操作を実行する場合は「はい」をクリックします。「はい」をクリックすると、Oracle DBCAによって「操作」ページが表示されます。
-
-
既存インスタンスからSQL*Plusを使用して
V$LOG
ビューを問い合せ、削除したインスタンスのREDOスレッドが削除されていることを確認します。REDOスレッドが無効になっていない場合は、スレッドを無効にします。たとえば:SQL> ALTER DATABASE DISABLE THREAD 2;
-
次のコマンドを実行して、OCRからインスタンスが削除されていることを確認します(
db_unique_name
はデータベース名です)。srvctl config database -db db_unique_name
-
複数のノードを削除する場合は、このステップを繰り返し、削除するすべてのノードからインスタンスを削除します。
親トピック: クラスタ・ノードからのOracle RACの削除
Oracle RACの削除
この手順では、クラスタから削除するノードからOracle RACソフトウェアを削除し、残りのノードのインベントリを更新します。
-
削除するノードのOracle RACホームにリスナーが存在する場合、Oracle RACソフトウェアを削除する前にリスナーを無効にして停止する必要があります。リスナーの名前および削除するノード名前を指定して、次のコマンドをクラスタ内の任意のノードで実行します。
C:\srvctl disable listener -listener listener_name -node name_of_node_to_delete C:\srvctl stop listener -listener listener_name -node name_of_node_to_delete
-
Oracle_home\deinstall
ディレクトリから次のコマンドを実行して、削除するノードからOracleホームをアンインストールします。deinstall -local
共有Oracle RACホームがある場合、このステップのコマンド例に-cfs
オプションを追加し、クラスタ・ファイル・システムの完全なパスの場所を指定します。
親トピック: クラスタ・ノードからのOracle RACの削除
クラスタからのノードの削除
インスタンスを削除すると、クラスタからノードを削除するプロセスを開始できます。
クラスタからノードを削除するには、削除するノードでスクリプトを実行して、Oracle Grid Infrastructureインストールを削除します。次に、残りのノードでスクリプトを実行してノード・リストを更新します。
親トピック: クラスタ・ノードからのOracle RACの削除