15 シングル・インスタンスOracle DatabaseのOracle RACおよびOracle RAC One Nodeへの変換
Oracle Databaseシングル・インスタンス・データベースからOracle Real Application Clusters(Oracle RAC)およびOracle RAC One Nodeデータベースに変換するための手順。
この付録の手順は、元のシングル・インスタンス・データベースとターゲットのOracle RACデータベースが同じリリースを使用して、同じプラットフォーム上で実行されていることを前提としています。以前のバージョンのOracle RACからOracle RAC 12cにアップグレードする場合は、Oracle Database Upgrade Assistant (DBUA)を使用します。
この章の内容は次のとおりです。
ノート:
Oracle RACデータベースでは、クラスタ化されたOracle Automatic Storage Management(Oracle ASM)インスタンスを使用する必要があります。データベースをOracle RACに変換する場合の管理上の問題点
シングル・インスタンスのデータベースをOracle RACに変換する前に、管理上の考慮事項に対処しておく必要があります。
-
単一インスタンスのOracle DatabaseからOracle RACに変換する前に、バックアップを実行可能にする必要があります。これには、Oracle RACへの変換前に既存のデータベースのバックアップを作成することと、変換直後にOracle RACデータベースのバックアップを作成する準備をすることも含まれます。
-
Oracle RAC環境でアーカイブする場合、アーカイブ・ファイル形式にはスレッド番号が必要です。
-
メディア・リカバリには、Oracle RACデータベースのすべてのインスタンスのアーカイブ・ログが必要です。この要件のため、ファイルにアーカイブして、クラスタ・ファイル・システムを使用しない場合または共有ファイル・システムを使用するための他の方法を採用しない場合、クラスタ・データベースのインスタンスがあるすべてのノードからアーカイブ・ログにアクセスするなんらかの方法が必要です。
-
デフォルトでは、すべてのデータベース・ファイルはOracle Managed Filesに移行されます。この機能によって、表領域の作成が簡単になり、データ・ファイルの場所の一貫性およびOracle Flexible Architecture規則への準拠が確保されるため、データ・ファイル管理での人為的なミスが減少します。
DBCAを使用したOracle RACおよびOracle RAC One Nodeへの変換
Database Configuration Assistant (DBCA)を使用して、シングル・インスタンスのOracle Databaseを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 12cをインストールし、クラスタで選択された各ノード上の同じ場所にOracleホームおよびインベントリを設定することをお薦めします。
この項には次のトピックが含まれます:
関連項目
DBCAを使用したOracle DatabaseのインストールのOracle RACへの変換
DBCAを使用したシングル・インスタンス・データベースのイメージの作成
次の手順に従い、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つのファイルを生成します。
事前構成済データベース・イメージのコピー
事前構成済データベース・イメージをコピーします。前の項でDBCAを使用して作成したデータベース構造ファイル(*.dbc
)およびデータベースの事前構成済イメージ・ファイル(*.dfb
)も、DBCAを実行するクラスタのノード上の一時的な場所にコピーします。
Oracle Database 12cソフトウェアおよびOracle RACのインストール
-
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を終了すると、変換処理が完了します。
DBCAを使用したクラスタ上のシングル・インスタンスのOracle RAC One Nodeへの変換
DBCAでシングル・インスタンスOracle DatabaseをOracle RAC One Nodeに変換するには、次の手順を実行します。
-
$ORACLE_HOME/bin
ディレクトリに移動します。 -
次のように、DBCAを起動します。
$ dbca
-
「ようこそ」ウィンドウから、Oracle RAC One Nodeデータベースを選択します。
-
前の項でデプロイするために選択したテンプレートを使用します。
DBCAを使用したクラスタ上のシングル・インスタンスのOracle RACへの変換
シングル・インスタンス・データベースがクラスタ・ノード上に存在する場合は、次の3つのシナリオが考えられます。
-
シナリオ1: シングル・インスタンス・データベースのOracleホームがクラスタ・ノードにインストールされ、Oracle RACが有効になっている場合。
-
シナリオ2: シングル・インスタンス・データベースのOracleホームはクラスタ・ノードにインストールされているものの、このOracleホームのOracle RAC機能が無効になっている場合。
-
シナリオ3: シングル・インスタンス・データベースのOracleホームが、クラスタのローカル・ノードのみにインストールされている場合。これは、Oracle Database 12cをインストールするときに、Oracle Universal Installerの「ハードウェアのクラスタ・インストール・モードの指定」ページで「ローカル・インストール」オプションを選択した場合に発生します。
RAC対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合
Oracle RACオプションが有効なOracleホームから実行されているクラスタ・ノードでシングル・インスタンス・データベースを変換するには、次の手順を実行します。
-
DBCAを使用して、シングル・インスタンス・データベースの事前構成済イメージを作成します。手動で変換を実行するには、シングル・インスタンス・データベースを停止します。
-
ノードをクラスタに追加します。すべてのノードがOracle ClusterwareおよびOracle RACで使用される共有記憶域にアクセスできることを確認します。
-
既存のOracleホームから、このホームを新しいノードに拡張します。
-
新しく追加したノードから、NETCAを使用して追加のノードにリスナーを構成します。既存のノードで使用したポート番号およびプロトコルと同じポート番号およびプロトコルを選択します。NETCAでノード・リスト・ページに既存のノードが表示される場合は、リスナーがすでに構成されているため、ノードを選択しないでください。
-
次のいずれかの手順でデータベースを変換します。
DBCAを使用した自動変換の手順
前の項の説明に従って、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成する場合は、次のステップを実行して、Oracle RACデータベースへの変換を完了します。
-
元のノードからDBCAを起動します。クラスタ・データベースの一部として含めるノードの名前を選択します。テンプレートの選択ページで、作成した事前構成済テンプレートを選択します。データベース名を入力し、DBCAのプロンプトに従って残りの項目を入力します。
-
Oracle Databaseデータ・ファイルの共有記憶域の場所を指定します。
Oracle RACデータベースを作成すると、DBCAによって「パスワード管理」ページが表示され、このページで、SYSDBAとSYSOPERの権限を持つデータベース・ユーザーのパスワードを変更する必要があります。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を作成します。
-
次のエントリを含む
$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;
RAC非対応のOracle ホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合
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で使用される共有記憶域にアクセスできることを確認します。
rconfigおよびOracle Enterprise Managerを使用して変換するための準備
rconfig
またはOracle Enterprise Managerを使用すると、シングル・インスタンス・データベースのインストールをOracle RACデータベースに簡単に変換できます。
rconfig
は、コマンドライン・ユーティリティです。Oracle Enterprise Manager Cloud Controlのデータベース管理オプション(「クラスタ・データベースへの変換」)は、GUIベースの変換ツールです。次の項では、これらの変換ツールを使用する方法について説明します。
ノート:
変換を実行する前には、既存のデータベースのバックアップを作成しておきます。大規模な変更を行う前にも、データベースのバックアップを作成してください。
Oracle RACデータベースへの変換の前提条件
データベースを変換する前に、Oracle Real Application Clusters (Oracle RAC)環境がこれらの前提条件を満たしている必要があります。
シングル・インスタンスのデータベースをOracle RACデータベースに変換する前に、Oracle RACデータベース・ノードを作成する各クラスタ・ノードで次の条件が満たされていることを確認します。
-
Oracle Clusterware 19cがインストールおよび構成済で実行されている。
-
Oracle RAC 19cソフトウェアがインストールされている。
-
Oracleソフトウェアで、Oracle RACオプションが有効になっている。
-
Oracle Cluster File SystemまたはOracle ASMのいずれかの共有記憶域がすべてのノードから使用可能でアクセスできる。
-
oracle
アカウント、またはOracleソフトウェアのインストールに使用されたユーザー・アカウントにユーザー等価関係が存在する。 -
Oracle Enterprise Managerを使用する場合は、各ノードのOracle Management Agentが構成され、実行中であり、クラスタおよびホスト情報とともに構成されている。
-
既存のデータベースをバックアップしている。
ノート:
Oracle RACデータベースでは、クラスタ化されたOracle ASMインスタンスを使用する必要があります。
rconfigを使用したOracle RACへの変換時の構成の変更
rconfig
ユーティリティを使用してシングル・インスタンス・データベースをOracle RACに変換すると、これらの変更が発生します。
-
変換時に、
rconfig
によってターゲットのOracle RACデータベースがアーカイブ・ログ・モードに設定され、データベースのアーカイブが有効になります。アーカイブ・ログ領域を使用しない場合は、変換の完了後にアーカイブ・ログを無効にできます。 -
共有記憶域タイプの値として「CFS」と入力し、シングル・インスタンス・データベース記憶域に対してクラスタ・ファイル・システムを使用している場合は、
rconfig
によって、データベース記憶域に対してOracle Managed Filesが使用されるように環境が変換され、データ・ファイルが共有記憶域の場所の下にあるサブディレクトリに配置されます。 -
変換時に、
rconfig
によって、データベース・ファイルが指定した共有の場所に移動され、Oracle Managed Filesを使用して構成されます。変換されたデータベースでOracle Managed Filesを使用しないようにするには、シングル・インスタンス・データベースのファイルを共有ファイル・システムに配置して、
rconfig
でこれらのファイルが移動されないように指定する必要があります。
rconfigまたはOracle Enterprise Managerを使用したデータベースのOracle RACへの変換
このリストでは、シングル・インスタンスのOracleデータベースをOracle RACデータベースに変換するシナリオを示します。
-
シングル・インスタンスのOracle Database 19cデータベースを、このシングル・インスタンス・データベースと同じOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 19cデータベースに変換します。
このシナリオでは、Oracle RACデータベース・ホームから
rconfig
ユーティリティを実行するか、またはOracle Enterprise Manager Cloud Controlのシングル・インスタンスのデータベース・ターゲットでRACへの変換オプションを使用します。 -
Oracle Database 19cより前のリリースのOracle Databaseを使用するシングル・インスタンス・データベースを、このシングル・インスタンス・データベースと同じOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 19cデータベースに変換します。
このシナリオでは、Oracle Universal InstallerおよびDatabase Upgrade Assistant (DBUA)を使用して、シングル・インスタンス・データベースをOracle Database 19cに更新します。その後で、前述のシナリオで説明したように
rconfig
またはOracle Enterprise ManagerのRACへの変換オプションを使用します。 -
シングル・インスタンスのOracle Database 19cを、このシングル・インスタンス・データベースとは異なるOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 19cデータベースに変換します。
このシナリオでは、ターゲットのデータベース・ホームで
rconfig
ユーティリティを実行するか、またはOracle Enterprise Manager Cloud Controlのシングル・インスタンスのデータベース・ターゲットでRACへの変換オプションを使用します。プロンプトに従って、ファイル記憶域の場所を指定します。ノート:
ターゲット・データベース・ホームおよびソース・データベース・ホームの両方にOracleホーム・ユーザーを指定する場合、ターゲット・データベース・ホームのOracleホーム・ユーザーと、ソース・データベース・ホームのOracleホーム・ユーザーは同じである必要があります。
-
シングル・インスタンス・データベースが実行されているホストがOracle RACデータベースのノードではない環境で、シングル・インスタンスのOracle Database 19cを、異なるOracleホームから実行するOracle RAC 19cデータベースに変換します。
このシナリオでは、シングル・インスタンスのデータベースのクローン・イメージを作成し、そのクローン・イメージをOracle RACデータベースが使用するノードであるホストに移動します。その後で、前述のシナリオで説明したように
rconfig
またはOracle Enterprise ManagerのRACへの変換オプションを使用します。
Oracle Enterprise Managerを使用したデータベースのOracle RACへの変換
Oracle Enterprise Manager Cloud Controlを使用して、シングル・インスタンス・データベースをOracle RACデータベースに変換できます。
この機能を使用するには、次のステップを実行します。
-
Oracle Enterprise Manager Cloud Controlにログインします。ホーム・ページで、「ターゲット」タブをクリックします。
-
「ターゲット」ページで、「データベース」タブをクリックし、Oracle RACに変換するデータベースの「名前」列にあるリンクをクリックします。
-
「データベース・ホーム」ページで、「可用性」メニューから「クラスタ・データベースへの変換」を選択します。
-
SYSDBA
権限を持つデータベース・ユーザーSYS
として、変換するデータベースにログインし、「次へ」をクリックします。 -
「クラスタ・データベースへの変換: クラスタ資格証明」ページで、
oracle
ユーザーのユーザー名とパスワード、および変換するターゲット・データベースのパスワードを指定します。ターゲット・データベースでOracle ASMを使用している場合は、SYSASMユーザーとパスワードも指定して、「次へ」をクリックします。 -
「ホスト」ページで、インストールしたOracle RACデータベースのクラスタ・メンバーにするクラスタ内のホスト・ノードを選択します。選択が完了したら、「次へ」をクリックします。
-
「データベースへの変換: オプション」ページで、既存のリスナーとポート番号を使用するか、またはクラスタに新しいリスナーとポート番号を指定するかどうかを選択します。また、クラスタのクラスタ・データベース・インスタンスの接頭辞も指定します。
情報の入力が終了したら、「次へ」をクリックします。または、情報の入力方法の決定についての情報が必要な場合は、「ヘルプ」をクリックします。
-
「クラスタ・データベースへの変換: 共有記憶域」ページで、既存の共有記憶域領域を使用するオプションを選択するか、またはデータベース・ファイルを新しい共有記憶域の場所にコピーするオプションを選択します。また、既存の高速リカバリ領域を使用するか、またはOracle Databaseによって管理されたファイルを使用して、リカバリ・ファイルを新しい高速リカバリ領域にコピーするかどうかを決定します。
Oracle ASMを使用する場合、データ・ファイルとリカバリ・ファイルを別の障害グループに配置することをお薦めします。障害グループは、2つのディスク間で共有されているコントローラなどの共有ハードウェアまたは同じスピンドル上にある2つのディスクによって定義されます。2つのディスクで障害が発生したハードウェアを共有しており、両方のディスクが使用できなくなった場合、これらのディスクは同じ障害グループに属しています。Oracle ASMを使用しない場合、データ・ファイルとリカバリ・ファイルを別の場所(別個のOracle ASM障害グループなど)に配置して、ハードウェアの障害によって可用性が低下しないようにすることをお薦めします。
情報の入力が終了したら、「次へ」をクリックします。または、情報の入力方法の決定についての情報が必要な場合は、「ヘルプ」をクリックします。
-
「クラスタ・データベースへの変換: 確認」ページで、選択したオプションを確認します。変換に進むには、「ジョブの発行」をクリックします。選択したオプションを変更するには、「戻る」をクリックします。変換を取り消す場合は、「取消」をクリックします。
-
「確認」ページで、「ジョブの表示」をクリックし、変換の状態を確認します。
rconfigを使用したデータベースのOracle RACへの変換
コマンドライン・ユーティリティrconfig
を使用すると、ConvertToRAC.xml
ファイルで提供する値に応じて、シングル・インスタンス・データベースをOracle RACデータベースに変換することも、Oracle RAC One Nodeデータベースに変換することもできます。この機能を使用するには、次のステップを実行します。
-
oracle
ユーザーで、$ORACLE_HOME/assistants/rconfig/sampleXMLs
ディレクトリに移動し、vi
などのテキスト・エディタを使用してConvertToRAC.xml
ファイルを開きます。 -
ConvertToRAC.xml
ファイルを確認し、システムに必要なパラメータを変更します。XMLサンプル・ファイルには、ファイルの構成方法を説明するコメントが含まれています。XMLファイルにパスワードを入力しないでください。かわりに、rconfig
ユーティリティでパスワードの入力を要求するようにします。警告:
変換が正常に完了することを確認するには、変換オプションConvert verify="ONLY"
を設定して、テスト変換を実行します。パラメータの変更が終了したら、
file_name.xml
という形式の名前を付けてファイルを保存します。選択した名前をノートにとっておきます。 -
ディレクトリ
$ORACLE_HOME/bin
に移動し、次のコマンドを使用してrconfig
を実行します(ここで、input.xml
はステップ2で構成したXML入力ファイルの名前です)。rconfig input.xml
たとえば、
convert.xml
というXML入力ファイルを作成した場合は、次のコマンドを使用します。$ ./rconfig convert.xml
rconfig
ユーティリティによって、必要なパスワードの入力を求めるプロンプトが表示されます。
ノート:
ConvertToRAC.xml
ファイルのConvert verify
オプションには、3つのオプションがあります。
-
Convert verify="YES"
: rconfigは変換を開始する前に、シングル・インスタンスからOracle RACに変換するための前提条件が満たされていることを確認するチェックを行います。 -
Convert verify="NO"
: rconfigは前提条件のチェックを行わずに、変換を開始します。 -
Convert verify="ONLY"
: rconfigは前提条件のチェックのみを行います。前提条件のチェックが完了しても変換は開始されません。
変換の実行に失敗した場合、次の手順を使用してリカバリを実行し、変換を再試行します。
-
DBCAのデータベースの削除オプションを使用して、データベースの削除を試行します。
-
ソース・データベースをリストアします。
-
変換ログを確認し、
rconfig
でレポートされた問題で変換の失敗の原因になった可能性があるものを修正します。rconfig
のログ・ファイルは、$ORACLE_BASE/cfgtoollogs
のrconfig
ディレクトリの下に作成されます。 -
変換を再試行します。
ConvertToRAC用のrconfig XML入力ファイルの例
これら2つのXML ConvertToRAC
入力ファイルのrconfig
ユーティリティの例を確認します。
ノート:
XMLファイルにパスワードを含めないでください。かわりに、rconfig
ユーティリティでパスワードの入力を要求するようにします。
例15-1 ポリシー管理データベースのrconfig ConvertToRAC XMLファイルの例
この例では、Oracle ASMを使用する単一インスタンス・データベースをOracle ASM記憶域で(サーバー・プールを使用して)ポリシー管理のOracle RACデータベースに変換するXML入力ファイルを示します。
<?xml version="1.0" encoding="UTF-8"?>
<n:RConfig xmlns:n="http://www.example.com/rconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com/rconfig">
<n:ConvertToRAC>
<!-- Verify does a precheck to ensure all pre-requisites are met, before the
conversion is attempted. Allowable values are: YES|NO|ONLY -->
<n:Convert verify="YES">
<!--Specify current OracleHome of non-rac database for SourceDBHome -->
<n:SourceDBHome>/oracle/product/12.1.0/db_1</n:SourceDBHome>
<!--Specify OracleHome where the rac database should be configured. It can be same
as SourceDBHome -->
<n:TargetDBHome>/oracle/product/12.1.0/db_1</n:TargetDBHome>
<!--Specify SID of non-rac database and credential. User with sysdba role is
required to perform conversion -->
<n:SourceDBInfo SID="sales">
<n:Credentials>
<n:User>sys</n:User>
<n:Role>sysdba</n:Role>
</n:Credentials>
</n:SourceDBInfo>
<!--Specify the list of existing or new server pools which are used by the
Policy Managed Cluster Database. -->
<n:ServerPoolList>
<n:ExistingServerPool name="custom"/>
<n:NewServerPool name="newpool" cardinality="2"/>
</n:ServerPoolList>
<!--Specify RacOneNode along with servicename to convert database to RACOne
Node -->
<!--n:RacOneNode servicename="salesrac1service"/-->
<!--InstancePrefix is not required for Policy Managed database. If specified, it
will be ignored. Instance names are generated automatically based on db_unique_
name for Policy Managed dababase.-->
<!-- Listener details are no longer needed starting 11.2. Database is registered
with default listener and SCAN listener running from Oracle Grid Infrastructure
home. -->
<!--Specify the type of storage to be used by rac database. Allowable values are
CFS|ASM. The non-rac database should have same storage type. ASM credentials are
no needed for conversion. -->
<n:SharedStorage type="ASM">
<!--Specify Database Area Location to be configured for rac database.If this field
is left empty, current storage will be used for rac database. For CFS, this field
will have directory path. -->
<n:TargetDatabaseArea>+ASMDG</n:TargetDatabaseArea>
<!--Specify Fast Recovery Area to be configured for rac database. If this field is
left empty, current recovery area of non-rac database will be configured for rac
database. If current database is not using recovery Area, the resulting rac
database will not have a recovery area. -->
<n:TargetFlashRecoveryArea>+ASMDG</n:TargetFlashRecoveryArea>
</n:SharedStorage>
</n:Convert>
</n:ConvertToRAC>
</n:RConfig>
例15-2 管理者管理データベースのrconfig ConvertToRAC XMLファイルの例
この例では、Oracle ASMを使用する単一インスタンス・データベースを管理者管理のOracle RACデータベースに変換するXML入力ファイルを示します。
<?xml version="1.0" encoding="UTF-8"?>
<n:RConfig xmlns:n="http://www.example.com/rconfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com/rconfig rconfig.xsd">
<n:ConvertToRAC>
<!-- Verify does a precheck to ensure all pre-requisites are met, before the
conversion is attempted. Allowable values are: YES|NO|ONLY -->
<n:Convert verify="YES">
<!--Specify current OracleHome of non-rac database for SourceDBHome -->
<n:SourceDBHome>/oracle/product/12.1.0/db_1</n:SourceDBHome>
<!--Specify OracleHome where the rac database should be configured. It can be same
as SourceDBHome -->
<n:TargetDBHome>/oracle/product/12.1.0/db_1</n:TargetDBHome>
<!--Specify SID of non-rac database and credential. User with sysdba role is
required to perform conversion -->
<n:SourceDBInfo SID="sales">
<n:Credentials>
<n:User>sys</n:User>
<n:Role>sysdba</n:Role>
</n:Credentials>
</n:SourceDBInfo>
<!--Specify the list of nodes that should have rac instances running for the Admin
Managed Cluster Database. LocalNode should be the first node in this nodelist.
-->
<n:NodeList>
<n:Node name="node1"/>
<n:Node name="node2"/>
</n:NodeList>
<!--Specify RacOneNode along with servicename to convert database to RACOne
Node -->
<!--n:RacOneNode servicename="salesrac1service"/-->
<!--Instance Prefix tag is optional starting with 11.2. If left empty, it is
derived from db_unique_name.-->
<n:InstancePrefix>sales</n:InstancePrefix>
<!-- Listener details are no longer needed starting 11.2. Database is registered
with default listener and SCAN listener running from Oracle Grid Infrastructure
home. -->
<!--Specify the type of storage to be used by rac database. Allowable values are
CFS|ASM. The non-rac database should have same storage type. ASM credentials
are not needed for conversion. -->
<n:SharedStorage type="ASM">
<!--Specify Database Area Location to be configured for rac database.If this field
is left empty, current storage will be used for rac database. For CFS, this
field will have directory path. -->
<n:TargetDatabaseArea>+ASMDG</n:TargetDatabaseArea>
<!--Specify Fast Recovery Area to be configured for rac database. If this field is
left empty, current recovery area of non-rac database will be configured for rac
database. If current database is not using recovery Area, the resulting rac
database will not have a recovery area. -->
<n:TargetFlashRecoveryArea>+ASMDG</n:TargetFlashRecoveryArea>
</n:SharedStorage>
</n:Convert>
</n:ConvertToRAC>
</n:RConfig>
変換後のステップ
変換が完了したら、Oracle RAC環境の構成に関する推奨事項に従います。
-
前の章で説明したように、ロード・バランシングおよび透過的アプリケーション・フェイルオーバーを使用する際の推奨事項に従います。
-
『Oracle Database管理者ガイド』の説明に従って、ディクショナリ管理表領域ではなくローカル管理表領域を使用して、競合を軽減し、順序をOracle RACで管理します。
-
自動セグメント領域管理の使用方法については、『Oracle Database管理者ガイド』のガイドラインに従ってください。
Oracle RACでのバッファ・キャッシュおよび共有プールの容量に関する要件は、シングル・インスタンスのOracle Databaseでの要件よりもわずかに大きくなります。このため、バッファ・キャッシュのサイズを約10%、共有プールのサイズを約15%増加する必要があります。