15 シングル・インスタンスOracle DatabaseのOracle RACおよびOracle RAC One Nodeへの変換
Oracle Databaseシングル・インスタンス・データベースからOracle Real Application Clusters (Oracle RAC)およびOracle RAC One Nodeデータベースに変換するための手順について説明します。
注意:
マルチテナント・コンテナ・データベースは、Oracle Database 20cで唯一サポートされているアーキテクチャです。ドキュメントが改訂されている間は、従来の用語が残っている可能性があります。ほとんどの場合、"データベース"と"非CDB"は、文脈に応じてCDBまたはPDBを指しています。アップグレードなどでは、"非CDB"が以前のリリースの非CDBを指している場合もあります。
- データベースをOracle RACに変換する場合の管理上の問題点
シングル・インスタンス・データベースをOracle RACに変換する前に、管理要件に対処しておく必要があります。 - DBCAを使用したOracle RACおよびOracle RAC One Nodeへの変換
Database Configuration Assistant (DBCA)を使用してシングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)またはOracle RAC One Nodeデータベースに変換するためのガイドラインおよび手順について説明します。 - 変換後のステップ
シングル・インスタンス・データベースからOracle Real Application Clusters (Oracle RAC)データベースへの変換が完了したら、Oracle RAC環境の構成に関する次の推奨事項に従います。
15.1 データベースをOracle RACに変換する場合の管理上の問題点
シングル・インスタンス・データベースをOracle RACに変換する前に、管理要件に対処しておく必要があります。
これらの変換手順は、元のシングル・インスタンス・データベースとターゲットのOracle Real Application Clusters (Oracle RAC)データベースが同じリリースを使用し、同じプラットフォーム上で実行されていることを前提としています。変換を開始する前に、次の要件に注意してください。
-
シングル・インスタンスのOracle DatabaseからOracle RACへ変換する前にバックアップ手順を完了し、変換後に使用できるようにしておきます。Oracle RACへの変換前に既存のデータベースのバックアップを作成し、変換後すぐにOracle RACデータベースのバックアップを準備します。
-
Oracle RAC環境でアーカイブする場合、アーカイブ・ファイル形式にはスレッド番号が必要です。
-
メディア・リカバリには、Oracle RACデータベースのすべてのインスタンスのアーカイブ・ログが必要です。この要件のため、ファイルにアーカイブし、クラスタ・ファイル・システムを使用しない場合または共有ファイル・システムを提供する他の手段を使用しない場合、クラスタ・データベースのインスタンスがあるすべてのノードからアーカイブ・ログにアクセスする方法が必要です。
-
デフォルトでは、すべてのデータベース・ファイルはOracle Managed Filesに移行されます。この機能によって、表領域の作成が簡単になり、データ・ファイルの場所の一貫性およびOracle Flexible Architecture規則への準拠が確保されるため、データ・ファイル管理での人為的なミスが減少します。
注意:
Oracle RACデータベースでは、クラスタ化されたOracle Automatic Storage Management(Oracle ASM)インスタンスを使用する必要があります。15.2 DBCAを使用したOracle RACおよびOracle RAC One Nodeへの変換
Database Configuration Assistant (DBCA)を使用してシングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)またはOracle RAC One Nodeデータベースに変換するためのガイドラインおよび手順について説明します。
- DBCAを使用したデータベースのOracle RACへの変換の概要
Database Configuration Assistant (DBCA)には、シングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)データベースまたはOracle RAC One Nodeデータベースへの変換を支援するという一定の利点があります。 - DBCAを使用したOracle DatabaseのインストールのOracle RACへの変換
クラスタ化されていないコンピュータ上のシングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)に変換するには、ここで説明する各手順を実行します。 - DBCAを使用したクラスタ上のシングル・インスタンスのOracle RAC One Nodeへの変換
シングル・インスタンスのOracle DatabaseをOracle RAC One Nodeに変換するには、このDatabase Configuration Assistant (DBCA)手順を使用します。 - DBCAを使用したクラスタ上のシングル・インスタンスのOracle RACへの変換
シングル・インスタンスのOracle DatabaseをOracle Real Application Clustersインスタンスに変換できる場合について説明し、変換の実行方法を示します。
15.2.1 DBCAを使用したデータベースのOracle RACへの変換の概要
Database Configuration Assistant (DBCA)には、シングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)データベースまたはOracle RAC One Nodeデータベースへの変換を支援するという一定の利点があります。
DBCAを使用すると、制御ファイル属性が自動的に構成され、UNDO表領域とREDOログが作成されて、クラスタ対応環境用の初期化パラメータ・ファイルのエントリが作成されます。また、DBCAは、Oracle Enterprise Managerまたはサーバー制御ユーティリティ(SRVCTL)を使用して、Oracle Net ServicesとOracle Clusterwareリソースの構成およびOracle RACデータベース管理用の構成を行います。
DBCAを使用してシングル・インスタンスのデータベースをOracle RACまたはOracle RAC One Nodeデータベースに変換する前に、システムが次の条件を満たしていることを確認します。
-
システムで、サポートされているハードウェアおよびオペレーティング・システム・ソフトウェアが使用されている。システムが、Oracle RACデータベースをサポートするように適切に構成されている。
-
ノードから共有記憶域にアクセスでき、たとえば、Oracle Cluster File SystemまたはOracle ASMが使用可能で、すべてのノードからアクセスできる。Linux on POWER Systemsの場合は、GPFSが使用可能で、すべてのノードからアクセスできる。
-
使用しているアプリケーションが、その特性によりクラスタ・データベース・プロセスで使用不可能になることがない。
ご使用のプラットフォームがクラスタ・ファイル・システムをサポートしている場合は、Oracle RACでそのクラスタ・ファイル・システムを使用できます。Oracle RACに変換して、非共有ファイル・システムを使用することもできます。いずれの場合も、Oracle Universal Installerを使用してOracle Databaseをインストールし、クラスタで選択された各ノード上の同じ場所にOracleホームおよびインベントリを設定することをお薦めします。
15.2.2 DBCAを使用したOracle DatabaseのインストールのOracle RACへの変換
クラスタ化されていないコンピュータ上のシングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)に変換するには、ここで説明する各手順を実行します。
警告:
次の各項で説明されている各手順を、示されている順序で実行する必要があります。
- DBCAを使用したシングル・インスタンス・データベースのイメージの作成
シングル・インスタンス・データベースからOracle Real Application Clusters (Oracle RAC)データベースへの変換プロセスの一環としてシングル・インスタンス・データベースの事前構成済イメージを作成するには、このDBCA手順を使用します。 - Oracle Clusterwareのインストールの完了
シングル・インスタンス・データベースをOracle Real Application Clusters (Oracle RAC)に進めるには、Oracle Clusterwareのインストールを完了する必要があります。 - クラスタの検証
Oracle Clusterwareのインストール後、クラスタ検証ユーティリティ(CVU)を使用してクラスタ構成を検証します。 - 事前構成済データベース・イメージのコピー
クラスタを検証した後で、事前構成済データベース・イメージをコピーします。 - 新しいOracle DatabaseソフトウェアおよびOracle RACのインストール
クラスタ・インストール・モードを選択して、新しいOracle Databaseリリースをインストールします。
15.2.2.1 DBCAを使用したシングル・インスタンス・データベースのイメージの作成
シングル・インスタンス・データベースからOracle Real Application Clusters (Oracle RAC)データベースへの変換プロセスの一環としてシングル・インスタンス・データベースの事前構成済イメージを作成するには、このDBCA手順を使用します。
-
$ORACLE_HOME
の下のbin
ディレクトリに移動して、DBCAを起動します。 -
「ようこそ」ページで「次へ」をクリックします。
-
「操作」ページで、「テンプレートの管理」を選択して「次へ」をクリックします。
-
「テンプレート管理」ページで、「データベース・テンプレートの作成」および「既存のデータベースを使用(データおよび構造)」を選択して「次へ」をクリックします。
-
「ソース・データベース」ページの「データベース・インスタンス」リストで、データベース名を選択して「次へ」をクリックします。
-
SQLを使用して、すべてのプラガブル・データベース(PDB)がオープンしていることを確認します。
SQL> SELECT name, open_mode FROM v$pdbs;
いずれかのPDBのステータスが
OPEN
以外の場合は、SQLを使用してオープンします。 -
「テンプレート・プロパティ」ページで、「名前」フィールドにテンプレート名を入力します。データベース名を使用することをお薦めします。
デフォルトでは、テンプレート・ファイルはディレクトリ
$ORACLE_HOME/assistants/dbca/templates
に生成されます。「説明」フィールドにファイルの説明を入力して、「テンプレート」データファイル・フィールドでテンプレート・ファイルの場所を変更できます。入力が完了したら、「次へ」をクリックします。
-
「データベース関連ファイルの位置」ページで、現行のディレクトリ構造にデータベースをリストアできるように「ファイル位置を保持」を選択して「終了」をクリックします。
DBCAは、データベース構造ファイル(template_name.dbc
)およびデータベースの事前構成済イメージ・ファイル(template_name.dfb
)の2つのファイルを生成します。
15.2.2.2 Oracle Clusterwareのインストールの完了
シングル・インスタンス・データベースをOracle Real Application Clusters (Oracle RAC)に進めるには、Oracle Clusterwareのインストールを完了する必要があります。
Oracle Clusterwareのインストールを完了するには、オペレーティング・システムのドキュメントを参照してください。
15.2.2.4 事前構成済データベース・イメージのコピー
クラスタを検証した後で、事前構成済データベース・イメージをコピーします。
事前構成済データベース・イメージをコピーする場合は、データベース構造ファイル*.dbc
およびデータベースの事前構成済イメージ・ファイル*.dfb
(変換プロセスでDBCAを使用してすでに作成しているファイル)もDBCAを実行するクラスタのノード上の一時的な場所にコピーします。
15.2.2.5 新しいOracle DatabaseソフトウェアおよびOracle RACのインストール
クラスタ・インストール・モードを選択して、新しいOracle Databaseリリースをインストールします。
-
Oracle Universal Installerを実行して、Oracle DatabaseおよびOracle RACをインストールします。
-
Oracle Universal Installerのハードウェアのクラスタ・インストール・ページで「クラスタ・インストール・モード」を選択し、Oracle RACデータベースに含めるノードを選択します。
-
Oracle Universal Installerのデータベース構成タイプ・ページで、拡張インストール・タイプを選択します。
Oracle Databaseソフトウェアのインストール後、Oracle Universal Installerはインストール後の構成ツール(Net Configuration Assistant (NETCA)、DBCAなど)を実行します。
-
DBCAのテンプレートの選択ページで、前の項で一時的な場所にコピーしたテンプレートを使用します。テンプレートの位置を選択するには、「参照」オプションを使用します。
デプロイするオプションを選択します。Oracle RACデータベース、Oracle RAC One Nodeデータベースまたはシングル・インスタンスOracle Databaseから選択できます。
-
Oracle RACデータベースを作成すると、DBCAに「パスワード管理」ページが表示され、このページで、SYSDBA権限とSYSOPER権限を持つデータベース・ユーザーのパスワードを変更する必要があります。DBCAを終了すると、変換処理が完了します。
15.2.3 DBCAを使用したクラスタ上のシングル・インスタンスのOracle RAC One Nodeへの変換
シングル・インスタンスのOracle DatabaseをOracle RAC One Nodeに変換するには、このDatabase Configuration Assistant (DBCA)手順を使用します。
-
$ORACLE_HOME/bin
ディレクトリに移動します。 -
次のように、DBCAを起動します。
$ dbca
-
「ようこそ」ウィンドウから、「Oracle RAC One Nodeデータベース」を選択します。
-
シングル・インスタンスのOracle DatabaseからOracle RACへの変換時に選択したDBCAテンプレートを使用して、Oracle RAC One Nodeをデプロイします。
15.2.4 DBCAを使用したクラスタ上のシングル・インスタンスのOracle RACへの変換
シングル・インスタンスのOracle DatabaseをOracle Real Application Clustersインスタンスに変換できる場合について説明し、変換の実行方法を示します。
- クラスタ上のシングル・インスタンスをOracle RACに変換するためのシナリオ
Database Configuration Assistant (DBCA)を使用してクラスタ上のOracle Databaseシングル・インスタンスをOracle Real Application Clusters (Oracle RAC)インスタンスに変換できるシナリオが3つあります。 - RAC対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合
Oracle RACオプションが有効になっているOracleホームから実行されているクラスタ・ノードでシングル・インスタンス・データベースを変換するには、次の手順を実行します。 - RAC非対応のOracle ホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合
Oracle Real Application Clusters (Oracle RAC)オプションが無効になっているOracleホームから実行されているクラスタでシングル・インスタンス・データベースを作成できます。
15.2.4.1 クラスタ上のシングル・インスタンスをOracle RACに変換するためのシナリオ
Database Configuration Assistant (DBCA)を使用してクラスタ上のOracle Databaseシングル・インスタンスをOracle Real Application Clusters (Oracle RAC)インスタンスに変換できるシナリオが3つあります。
-
シナリオ1: シングル・インスタンス・データベースのOracleホームがクラスタ・ノードにインストールされ、Oracle RACが有効になっている場合。
-
シナリオ2: シングル・インスタンス・データベースのOracleホームはクラスタ・ノードにインストールされているものの、このOracleホームのOracle RAC機能が無効になっている場合。
-
シナリオ3: シングル・インスタンス・データベースのOracleホームが、クラスタのローカル・ノードにのみインストールされている場合。この構成は、Oracle Databaseをインストールするときに、Oracle Universal Installerのハードウェアのクラスタ・インストールの指定ページで「ローカル・インストール」オプションを選択した場合に発生します。
15.2.4.2 RAC対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合
Oracle RACオプションが有効になっているOracleホームから実行されているクラスタ・ノードでシングル・インスタンス・データベースを変換するには、次の手順を実行します。
- クラスタ上のシングル・インスタンス・データベースを変換するためのクラスタの設定
Oracle RACオプションが有効になっているOracleホームから実行されているクラスタ・ノードでシングル・インスタンス・データベースを変換するには、まずDBCAを使用してクラスタを設定します。 - DBCAを使用した自動変換の手順
シングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)データベースへの自動変換を完了するには、この手順を使用します。 - 手動変換の手順
シングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)データベースへの手動変換を完了するには、この手順を使用します。
15.2.4.2.1 クラスタ上のシングル・インスタンス・データベースを変換するためのクラスタの設定
Oracle RACオプションが有効になっているOracleホームから実行されているクラスタ・ノードでシングル・インスタンス・データベースを変換するには、まずDBCAを使用してクラスタを設定します。
-
DBCAを使用して、シングル・インスタンス・データベースの事前構成済イメージを作成します。手動で変換を実行するには、シングル・インスタンス・データベースを停止します。
-
ノードをクラスタに追加します。すべてのノードがOracle ClusterwareおよびOracle RACで使用される共有記憶域にアクセスできることを確認します。
-
既存のOracleホームから、このホームを新しいノードに拡張します。
-
新しく追加したノードから、NETCAを使用して追加のノードにリスナーを構成します。既存のノードで使用したポート番号およびプロトコルと同じポート番号およびプロトコルを選択します。NETCAでノード・リスト・ページに既存のノードが表示される場合は、リスナーがすでに構成されているため、ノードを選択しないでください。
-
次のいずれかの手順でデータベースを変換します。
クラスタの準備が完了したら、Database Configuration Assistant (DBCA)による自動変換を使用するか手動変換を実行することで、データベースを変換する準備ができました。好みに応じて手順を選択します。
15.2.4.2.2 DBCAを使用した自動変換の手順
シングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)データベースへの自動変換を完了するには、この手順を使用します。
DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成した場合は、次のステップを実行して、Oracle RACデータベースへの変換を完了します。
-
元のノードからDBCAを起動します。クラスタ・データベースの一部として含めるノードの名前を選択します。テンプレートの選択ページで、DBCAで前に作成した事前構成済テンプレートを選択します。データベース名を入力し、残りのDBCAのプロンプトに従って入力します。
-
Oracle Databaseデータ・ファイルの共有記憶域の場所を指定します。
Oracle RACデータベースを作成すると、DBCAに「パスワード管理」ページが表示され、このページで、SYSDBA権限とSYSOPER権限を持つデータベース・ユーザーのパスワードを変更する必要があります。DBCAを終了すると、変換処理が完了します。
15.2.4.2.3 手動変換の手順
シングル・インスタンスのOracle DatabaseからOracle Real Application Clusters (Oracle RAC)データベースへの手動変換を完了するには、この手順を使用します。
前の項の説明に従って、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成しなかった場合は、次のステップを実行して、変換を完了します。
-
追加した各ノード上にOptimal Flexible Architectureディレクトリ構造を作成します。
-
REUSE
キーワードを指定したCREATE CONTROLFILE
SQL文を実行して制御ファイルを再作成し、Oracle RAC構成に必要なMAXINSTANCES
やMAXLOGFILES
などを指定します。MAXINSTANCES
のデフォルト値は、32に指定することをお薦めします。 -
データベース・インスタンスを停止します。
-
シングル・インスタンス・データベースで
SPFILE
を使用していた場合は、次のSQL文を使用してSPFILE
から一時的なパラメータ・ファイル(PFILE
)を作成します。CREATE PFILE='pfile_name' from spfile='spfile_name'
-
CLUSTER_DATABASE
パラメータをTRUE
に設定し、sid.parameter =value
構文を使用して、INSTANCE_NUMBER
パラメータをインスタンスごとに一意の値に設定します。シングル・インスタンス・データベースのメモリ使用量を最適化していた場合は、システム・グローバル領域(SGA)のサイズを調整して、Oracle RACへの変換時にスワップおよびページングが発生しないようにします。Oracle RACではグローバル・キャッシュ・サービス(GCS)用に各バッファに約350バイトずつ必要になるため、この調整を行うことをお薦めします。たとえば、バッファが10,000ある場合、Oracle RACは約350×10,000バイトの追加メモリーを必要とします。その結果、必要に応じて
DB_CACHE_SIZE
およびDB_nK_CACHE_SIZE
パラメータを変更することでSGAのサイズを調整し、スワッピングおよびページングを回避します。 -
ステップ4で作成したPFILEを使用して、データベース・インスタンスを起動します。
-
シングル・インスタンス・データベースで自動UNDO管理を使用していた場合は、
CREATE UNDO TABLESPACE
SQL文を使用して、追加インスタンスごとにUNDO表領域を作成します。 -
2つ以上のREDOログを持つREDOスレッドを追加インスタンスごとに作成します。SQL文の
ALTER DATABASE
を使用して、新しいREDOスレッドを使用可能にします。その後で、データベース・インスタンスを停止します。 -
Oracleパスワード・ファイルを、元のノードまたは作業中のノードから追加ノード(クラスタ・データベースのインスタンスが存在するノード)の対応する位置にコピーします。追加インスタンスごとに、各パスワード・ファイルの
ORACLE_SID
名を適切に置換します。 -
REMOTE_LISTENER
パラメータに単一クライアント・アクセス名(SCAN)およびポートを設定します。 -
データベースとインスタンスのネット・サービス・エントリ、インスタンスごとの
LOCAL_LISTENER
のアドレス・エントリ、およびtnsnames.ora
ファイルのREMOTE_LISTENER
のアドレス・エントリを構成し、tnsnames.ora
ファイルをすべてのノードにコピーします。 -
PFILE
からSPFILE
を作成します。 -
次のエントリを含む
$ORACLE_HOME/dbs/initsid.ora
ファイルを作成します(ここで、spfile_path_name
はSPFILEの完全パス名です)。spfile='spfile_path_name'
-
ローカル・ノードで、SQL*Plusを使用して
catclust.sql
を実行します。このスクリプトによって、Oracle RACデータベースに必要なディクショナリ・ビューが作成されます。次に例を示します。SQL> start ?/rdbms/admin/catclust.sql
-
SRVCTLを使用して、Oracle RACまたはOracle RAC One Nodeデータベースの構成とそのインスタンスのノードへのマッピングを追加します。
-
Oracle RACデータベースの構成を追加するには、次のコマンドを使用します。
$ srvctl add database -dbname db_name -oraclehome Oracle_home -spfile spfile_path_name $ srvctl add instance -dbname db_name -instance inst1_name -node node1_name $ srvctl add instance -dbname db_name -instance inst2_name -node node2_name ...
-
Oracle RAC One Nodeデータベースの構成を追加するには、次のコマンドを使用します。
$ srvctl add database -dbname db_name -dbtype RACONENODE -oraclehome Oracle_home -spfile spfile_path_name
-
-
SRVCTLを使用してOracle RACまたはOracle RAC One Nodeデータベースを起動します。
srvctl start database -d db_name
SRVCTLでデータベースを起動すると、変換処理は完了です。次のSQL文を実行すると、Oracle RACデータベースのすべてのインスタンスのステータスを確認できます。
SQL> SELECT * FROM v$active_instances;
15.2.4.3 RAC非対応のOracle ホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合
Oracle Real Application Clusters (Oracle RAC)オプションが無効になっているOracleホームから実行されているクラスタでシングル・インスタンス・データベースを作成できます。
Oracle RAC非対応のクラスタでOracleホームを作成する場合は、Oracle Databaseソフトウェアのインストール時にOracle Universal Installerの「ノードの選択」ページで「ローカル」および「非クラスタ」を選択できます。単一ノードのクラスタ(およびOracle RAC)のインストールを実行して、後でOracle RACオプションを無効にすることもできます。
次の手順に従って、このタイプのシングル・インスタンス・データベースをOracle RACまたはOracle RAC One Nodeデータベースに変換します。
-
DBCAを使用して、シングル・インスタンス・データベースの事前構成済イメージを作成します。手動で変換を実行するには、シングル・インスタンス・データベースを停止します。
-
ディレクトリを、Oracleホームの
rdbms
ディレクトリにあるlib
サブディレクトリに変更します。 -
次のコマンドを実行して、
oracle
バイナリに再度リンクします。make -f ins_rdbms.mk rac_on make -f ins_rdbms.mk ioracle
-
ノードをクラスタに追加します。すべてのノードがOracle ClusterwareおよびOracle RACで使用される共有記憶域にアクセスできることを確認します。
15.3 変換後のステップ
シングル・インスタンス・データベースからOracle Real Application Clusters (Oracle RAC)データベースへの変換が完了したら、Oracle RAC環境の構成に関する次の推奨事項に従います。
変換後は、次のガイドラインに従うことをお薦めします。
-
前の章で説明したように、ロード・バランシングおよび透過的アプリケーション・フェイルオーバーを使用する際の推奨事項に従います。
-
『Oracle Database管理者ガイド』の説明に従って、ディクショナリ管理表領域ではなくローカル管理表領域を使用して、競合を軽減し、順序をOracle RACで管理します。
-
自動セグメント領域管理の使用方法については、『Oracle Database管理者ガイド』のガイドラインに従ってください。
Oracle RACでのバッファ・キャッシュおよび共有プールの容量に関する要件は、シングル・インスタンスのOracle Databaseでの要件よりもわずかに大きくなります。このため、バッファ・キャッシュのサイズを約10パーセント、共有プールのサイズを約15パーセント増加する必要があります。