「DBCAを使用したシングル・インスタンス・データベースのイメージの作成」の説明に従ってDBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成しなかった場合は、次の手順を実行して変換を完了します。
追加した各ノード上にOptimal Flexible Architectureディレクトリ構造を作成します。
SQL文のCREATE CONTROLFILEをREUSEキーワード付きで実行して制御ファイルを再作成し、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を作成します。
関連項目:
SPFILEへの移行の詳細は、使用しているプラットフォームの『Oracle Real Application Clustersインストレーション・ガイド』を参照してください。
次のエントリを含む$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 -d db_name -o Oracle_home -p spfile_path_name srvctl add instance -d db_name -i inst1_name -n node1_name srvctl add instance -d db_name -i inst2_name -n node2_name ...
Oracle RAC One Nodeデータベースの構成を追加するには、次のコマンドを使用します。
srvctl add database -d db_name -c RACONENODE -o Oracle_home -p 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;