「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/init
sid
.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;