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)インスタンスを使用する必要があります。

15.1 データベースをOracle RACに変換する場合の管理上の問題点

シングル・インスタンスのデータベースをOracle RACに変換する前に、次の管理上の問題点に注意してください。

  • シングル・インスタンスのOracle DatabaseからOracle RACに変換する前に、正しい手順でバックアップを行う必要があります。これには、Oracle RACへの変換前に既存のデータベースのバックアップを作成することと、変換直後にOracle RACデータベースのバックアップを作成する準備をすることも含まれます。

  • Oracle RAC環境でアーカイブする場合、アーカイブ・ファイル形式にはスレッド番号が必要です。

  • メディア・リカバリには、Oracle RACデータベースのすべてのインスタンスのアーカイブ・ログが必要です。この要件のため、ファイルにアーカイブして、クラスタ・ファイル・システムを使用しない場合または共有ファイル・システムを使用するための他の方法を採用しない場合、クラスタ・データベースのインスタンスがあるすべてのノードからアーカイブ・ログにアクセスするなんらかの方法が必要です。

  • デフォルトでは、すべてのデータベース・ファイルはOracle Managed Filesに移行されます。この機能によって、表領域の作成が簡単になり、データ・ファイルの場所の一貫性およびOracle Flexible Architecture規則への準拠が確保されるため、データ・ファイル管理での人為的なミスが減少します。

15.2 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ホームおよびインベントリを設定することをお薦めします。

この項には次のトピックが含まれます:

15.2.1 DBCAを使用したOracle DatabaseのインストールのOracle RACへの変換

クラスタ・コンピュータ以外のコンピュータ上にあるシングル・インスタンスのOracle DatabaseをOracle RACに変換するには、次の項に説明する手順を、その順序で実行します。

15.2.1.1 DBCAを使用したシングル・インスタンス・データベースのイメージの作成

次の手順に従い、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成します。

  1. $ORACLE_HOMEの下のbinディレクトリに移動して、DBCAを起動します。

  2. 「ようこそ」ページで「次へ」をクリックします。

  3. 「操作」ページで、「テンプレートの管理」を選択して「次へ」をクリックします。

  4. 「テンプレート管理」ページで、「データベース・テンプレートの作成」および「既存のデータベースを使用(データおよび構造)」を選択して「次へ」をクリックします。

  5. 「ソース・データベース」ページで、「データベース・インスタンス」リストでデータベース名を選択して「次へ」をクリックします。

  6. 次に示すように、SQLを使用して、すべてのプラガブル・データベース(PDB)がオープンしていることを確認します。

    SQL> SELECT name, open_mode FROM v$pdbs;

    いずれかのPDBのステータスがOPEN以外の場合は、SQLを使用してオープンにします。

  7. 「テンプレート・プロパティ」ページで、「名前」フィールドにテンプレート名を入力します。データベース名を使用することをお薦めします。

    デフォルトでは、テンプレート・ファイルはディレクトリ$ORACLE_HOME/assistants/dbca/templatesに生成されます。「説明」フィールドにファイルの説明を入力して、「テンプレート・データファイル」フィールドでテンプレート・ファイルの場所を変更できます。

    入力が完了したら、「次へ」をクリックします。

  8. 「データベース関連ファイルの位置」ページで、現行のディレクトリ構造にデータベースをリストアできるように「ファイル位置を保持」を選択して「終了」をクリックします。

DBCAは、データベース構造ファイル(template_name.dbc)およびデータベースの事前構成済イメージ・ファイル(template_name.dfb)の2つのファイルを生成します。

15.2.1.2 Oracle Clusterwareのインストールの完了

Oracle Clusterwareのインストールを完了します。

15.2.1.3 クラスタの検証

クラスタ検証ユーティリティ(CVU)を使用して、クラスタの構成を検証します。

15.2.1.4 事前構成済データベース・イメージのコピー

事前構成済データベース・イメージをコピーします。前の項でDBCAを使用して作成したデータベース構造ファイル(*.dbc)およびデータベースの事前構成済イメージ・ファイル(*.dfb)も、DBCAを実行するクラスタのノード上の一時的な場所にコピーします。

15.2.1.5 Oracle Database 12cソフトウェアおよびOracle RACのインストール
  1. Oracle Universal Installerを実行して、Oracle DatabaseおよびOracle RACをインストールします。

  2. Oracle Universal Installerのハードウェアのクラスタ・インストールの指定ページでクラスタ・インストール・モードを選択し、Oracle RACデータベースに含めるノードを選択します。

  3. Oracle Universal Installerの「データベース構成タイプ」ページで、「拡張」インストール・タイプを選択します。

    Oracle Databaseソフトウェアのインストール後、Oracle Universal Installerはインストール後の構成ツール(Net Configuration Assistant (NETCA)、DBCAなど)を実行します。

  4. DBCAのテンプレートを選択するページで、前の項で一時的な位置にコピーしたテンプレートを使用します。テンプレートの位置を選択するには、「参照」オプションを使用します。

    デプロイするオプションを選択します。Oracle RACデータベース、Oracle RAC One Nodeデータベースまたはシングル・インスタンスOracle Databaseから選択できます。

  5. Oracle RACデータベースを作成すると、DBCAによって「パスワード管理」ページが表示され、このページで、SYSDBAとSYSOPERの権限を持つデータベース・ユーザーのパスワードを変更する必要があります。DBCAを終了すると、変換処理が完了します。

15.2.2 DBCAを使用したクラスタ上のシングル・インスタンスのOracle RAC One Nodeへの変換

DBCAでシングル・インスタンスOracle DatabaseをOracle RAC One Nodeに変換するには、次の手順を実行します。

  1. $ORACLE_HOME/binディレクトリに移動します。

  2. 次のように、DBCAを起動します。

    $ dbca
  3. 「ようこそ」ウィンドウから、Oracle RAC One Nodeデータベースを選択します。

  4. 前の項でデプロイするために選択したテンプレートを使用します。

15.2.3 DBCAを使用したクラスタ上のシングル・インスタンスのOracle RACへの変換

シングル・インスタンス・データベースがクラスタ・ノード上に存在する場合は、次の3つのシナリオが考えられます。

  • シナリオ1: シングル・インスタンス・データベースのOracleホームがクラスタ・ノードにインストールされ、Oracle RACが有効になっている場合。

  • シナリオ2: シングル・インスタンス・データベースのOracleホームはクラスタ・ノードにインストールされているものの、このOracleホームのOracle RAC機能が無効になっている場合。

  • シナリオ3: シングル・インスタンス・データベースのOracleホームが、クラスタのローカル・ノードのみにインストールされている場合。これは、Oracle Database 12cをインストールするときに、Oracle Universal Installerの「ハードウェアのクラスタ・インストール・モードの指定」ページで「ローカル・インストール」オプションを選択した場合に発生します。

15.2.3.1 RAC対応のOracleホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合

Oracle RACオプションが有効なOracleホームから実行されているクラスタ・ノードでシングル・インスタンス・データベースを変換するには、次の手順を実行します。

  1. DBCAを使用して、シングル・インスタンス・データベースの事前構成済イメージを作成します。手動で変換を実行するには、シングル・インスタンス・データベースを停止します。

  2. ノードをクラスタに追加します。すべてのノードがOracle ClusterwareおよびOracle RACで使用される共有記憶域にアクセスできることを確認します。

  3. 既存のOracleホームから、このホームを新しいノードに拡張します。

  4. 新しく追加したノードから、NETCAを使用して追加のノードにリスナーを構成します。既存のノードで使用したポート番号およびプロトコルと同じポート番号およびプロトコルを選択します。NETCAでノード・リスト・ページに既存のノードが表示される場合は、リスナーがすでに構成されているため、ノードを選択しないでください。

  5. 次のいずれかの手順でデータベースを変換します。

15.2.3.1.1 DBCAを使用した自動変換の手順

前の項の説明に従って、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成する場合は、次の手順を実行して、Oracle RACデータベースへの変換を完了します。

  1. 元のノードからDBCAを起動します。クラスタ・データベースの一部として含めるノードの名前を選択します。テンプレートの選択ページで、作成した事前構成済テンプレートを選択します。データベース名を入力し、DBCAのプロンプトに従って残りの項目を入力します。

  2. Oracle Databaseデータ・ファイルの共有記憶域の場所を指定します。データ・ファイル用にRAWデバイスを使用する場合は、DBCAを使用できません。

Oracle RACデータベースを作成すると、DBCAによって「パスワード管理」ページが表示され、このページで、SYSDBAとSYSOPERの権限を持つデータベース・ユーザーのパスワードを変更する必要があります。DBCAを終了すると、変換処理が完了します。

15.2.3.1.2 手動変換の手順

前の項の説明に従って、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成しなかった場合は、次の手順を実行して、変換を完了します。

  1. 追加した各ノード上にOptimal Flexible Architectureディレクトリ構造を作成します。

  2. SQL文のCREATE CONTROLFILEREUSEキーワード付きで実行して制御ファイルを再作成し、Oracle RAC構成に必要なMAXINSTANCESMAXLOGFILESなどを指定します。MAXINSTANCESのデフォルト値は、32に指定することをお薦めします。

  3. データベース・インスタンスを停止します。

  4. シングル・インスタンス・データベースでSPFILEを使用していた場合は、次のSQL文を使用して、SPFILEから一時的なパラメータ・ファイル(PFILE)を作成します。

    CREATE PFILE='pfile_name' from spfile='spfile_name'
  5. 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のサイズを調整します。

  6. 手順4で作成したPFILEを使用して、データベース・インスタンスを起動します。

  7. シングル・インスタンス・データベースで自動UNDO管理を使用していた場合は、CREATE UNDO TABLESPACE SQL文を使用して、追加インスタンスごとにUNDO表領域を作成します。

  8. 2つ以上のREDOログを持つREDOスレッドを追加インスタンスごとに作成します。SQL文のALTER DATABASEを使用して、新しいREDOスレッドを使用可能にします。その後で、データベース・インスタンスを停止します。

  9. Oracleパスワード・ファイルを、元のノードまたは作業中のノードから追加ノード(クラスタ・データベースのインスタンスが存在するノード)の対応する位置にコピーします。追加インスタンスごとに、各パスワード・ファイルのORACLE_SID名を適切に置換します。

  10. REMOTE_LISTENERパラメータに単一クライアント・アクセス名(SCAN)およびポートを設定します。

  11. データベースとインスタンスのネット・サービス・エントリ、インスタンスごとのLOCAL_LISTENERのアドレス・エントリ、およびtnsnames.oraファイルのREMOTE_LISTENERのアドレス・エントリを構成し、tnsnames.oraファイルをすべてのノードにコピーします。

  12. PFILEからSPFILEを作成します。

  13. 次のエントリを含む$ORACLE_HOME/dbs/initsid.oraファイルを作成します(ここで、spfile_path_nameはSPFILEの完全パス名です)。

    spfile='spfile_path_name'
  14. ローカル・ノードで、SQL*Plusを使用してcatclust.sqlを実行します。このスクリプトによって、Oracle RACデータベースに必要なディクショナリ・ビューが作成されます。次に例を示します。

    SQL> start ?/rdbms/admin/catclust.sql
  15. SRVCTLを使用して、Oracle RACまたはOracle RAC One Nodeデータベースの構成とそのインスタンスのノードへのマッピングを追加します。

    1. 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
      ...
    2. Oracle RAC One Nodeデータベースの構成を追加するには、次のコマンドを使用します。

      $ srvctl add database -dbname db_name -dbtype RACONENODE -oraclehome Oracle_home
        -spfile spfile_path_name
  16. 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.3.2 RAC非対応のOracle ホームからクラスタ上のシングル・インスタンス・データベースが実行されている場合

Oracle RACオプションが無効なOracleホームから実行されるクラスタで、シングル・インスタンス・データベースを作成できます。Oracle RAC非対応のクラスタでOracleホームを作成する場合は、Oracle Databaseソフトウェアのインストール時にOracle Universal Installerの「ノードの選択」ページで「ローカル」および非クラスタを選択できます。単一ノードのクラスタ(およびOracle RAC)のインストールを実行して、後でOracle RACオプションを無効にすることもできます。

次の手順に従って、このタイプのシングル・インスタンス・データベースをOracle RACまたはOracle RAC One Nodeデータベースに変換します。

  1. 前の項の説明に従って、DBCAを使用してシングル・インスタンス・データベースの事前構成済イメージを作成します。手動で変換を実行するには、シングル・インスタンス・データベースを停止します。

  2. ディレクトリを、Oracleホームのrdbmsディレクトリにあるlibサブディレクトリに変更します。

  3. 次のコマンドを実行して、oracleバイナリに再度リンクします。

    make -f ins_rdbms.mk rac_on
    make -f ins_rdbms.mk ioracle 
  4. ノードをクラスタに追加します。すべてのノードがOracle ClusterwareおよびOracle RACで使用される共有記憶域にアクセスできることを確認します。

15.3 rconfigおよびOracle Enterprise Managerを使用して変換するための準備

rconfigまたはOracle Enterprise Managerを使用すると、シングル・インスタンス・データベースのインストールをOracle RACデータベースに簡単に変換できます。rconfigは、コマンドライン・ユーティリティです。Oracle Enterprise Manager Cloud Controlのデータベース管理オプション(「クラスタ・データベースへの変換」)は、GUIベースの変換ツールです。次の項では、これらの変換ツールを使用する方法について説明します。

注意:

変換を実行する前には、既存のデータベースのバックアップを作成しておきます。大規模な変更を行う前にも、データベースのバックアップを作成してください。

15.3.1 Oracle RACデータベースへの変換の前提条件

シングル・インスタンスのデータベースをOracle RACデータベースに変換する前に、Oracle RACデータベース・ノードを作成する各クラスタ・ノードで次の条件が満たされていることを確認します。

  • Oracle Clusterware 12cがインストールおよび構成済で実行されている。

  • Oracle RAC 12cソフトウェアがインストールされている。

  • Oracleソフトウェアで、Oracle RACオプションが有効になっている。

  • Oracle Cluster File SystemまたはOracle ASMのいずれかの共有記憶域がすべてのノードから使用可能でアクセスできる。

  • oracleアカウント、またはOracleソフトウェアのインストールに使用されたユーザー・アカウントにユーザー等価関係が存在する。

  • Oracle Enterprise Managerを使用する場合は、各ノードのOracle Management Agentが構成され、実行中であり、クラスタおよびホスト情報とともに構成されている。

  • 既存のデータベースをバックアップしている。

注意:

Oracle RACデータベースでは、クラスタ化されたOracle ASMインスタンスを使用する必要があります。

15.3.2 rconfigを使用したOracle RACへの変換時の構成の変更

rconfigユーティリティを使用してシングル・インスタンス・データベースをOracle RACに変換すると、次の変更が行われます。

  • 変換時に、rconfigによってターゲットのOracle RACデータベースがアーカイブ・ログ・モードに設定され、データベースのアーカイブが有効になります。アーカイブ・ログ領域を使用しない場合は、変換の完了後にアーカイブ・ログを無効にできます。

  • 共有記憶域タイプの値として「CFS」と入力し、シングル・インスタンス・データベース記憶域に対してクラスタ・ファイル・システムを使用している場合は、rconfigによって、データベース記憶域に対してOracle Managed Filesが使用されるように環境が変換され、データ・ファイルが共有記憶域の場所の下にあるサブディレクトリに配置されます。

  • 変換時に、rconfigによって、データベース・ファイルが指定した共有の場所に移動され、Oracle Managed Filesを使用して構成されます。

    変換されたデータベースでOracle Managed Filesを使用しないようにするには、シングル・インスタンス・データベースのファイルを共有ファイル・システムに配置して、rconfigでこれらのファイルが移動されないように指定する必要があります。

15.3.3 rconfigまたはOracle Enterprise Managerを使用したデータベースのOracle RACへの変換

次に、シングル・インスタンスのOracle DatabaseをOracle RACデータベースに変換するシナリオを示します。

  • シングル・インスタンスのOracle Database 12cデータベースを、このシングル・インスタンス・データベースと同じOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 12cデータベースに変換します。

    このシナリオでは、Oracle RACデータベース・ホームからrconfigユーティリティを実行するか、またはOracle Enterprise Manager Cloud Controlのシングル・インスタンスのデータベース・ターゲットでRACへの変換オプションを使用します。

  • Oracle Database 12cより前のリリースのOracle Databaseを使用するシングル・インスタンス・データベースを、このシングル・インスタンス・データベースと同じOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 12cデータベースに変換します。

    このシナリオでは、Oracle Universal InstallerおよびDatabase Upgrade Assistant (DBUA)を使用して、シングル・インスタンス・データベースをOracle Database 12cに更新します。その後で、前述のシナリオで説明したようにrconfigまたはOracle Enterprise ManagerのRACへの変換オプションを使用します。

  • シングル・インスタンスのOracle Database 12cを、このシングル・インスタンス・データベースとは異なるOracleホームから実行し、同じデータ・ファイルを使用するOracle RAC 12cデータベースに変換します。

    このシナリオでは、ターゲットのデータベース・ホームでrconfigユーティリティを実行するか、またはOracle Enterprise Manager Cloud Controlのシングル・インスタンスのデータベース・ターゲットでRACへの変換オプションを使用します。プロンプトに従って、ファイル記憶域の場所を指定します。

    注意:

    ターゲット・データベース・ホームおよびソース・データベース・ホームの両方にOracleホーム・ユーザーを指定する場合、ターゲット・データベース・ホームのOracleホーム・ユーザーと、ソース・データベース・ホームのOracleホーム・ユーザーは同じである必要があります。

  • シングル・インスタンス・データベースが実行されているホストがOracle RACデータベースのノードではない環境で、シングル・インスタンスのOracle Database 12cを、異なるOracleホームから実行するOracle RAC 12cデータベースに変換します。

    このシナリオでは、シングル・インスタンスのデータベースのクローン・イメージを作成し、そのクローン・イメージをOracle RACデータベースが使用するノードであるホストに移動します。その後で、前述のシナリオで説明したようにrconfigまたはOracle Enterprise ManagerのRACへの変換オプションを使用します。

15.3.4 Oracle Enterprise Managerを使用したデータベースのOracle RACへの変換

Oracle Enterprise Manager Cloud Controlを使用して、シングル・インスタンス・データベースをOracle RACデータベースに変換できます。

この機能を使用するには、次の手順を実行します。

  1. Oracle Enterprise Manager Cloud Controlにログインします。ホーム・ページで、「ターゲット」タブをクリックします。

  2. 「ターゲット」ページで、「データベース」タブをクリックし、Oracle RACに変換するデータベースの「名前」列にあるリンクをクリックします。

  3. 「データベース・ホーム」ページで、「可用性」メニューから「クラスタ・データベースへの変換」を選択します。

  4. SYSDBA権限を持つデータベース・ユーザーSYSとして、変換するデータベースにログインし、「次へ」をクリックします。

  5. 「クラスタ・データベースへの変換: クラスタ資格証明」ページで、oracleユーザーのユーザー名とパスワード、および変換するターゲット・データベースのパスワードを指定します。ターゲット・データベースでOracle ASMを使用している場合は、SYSASMユーザーとパスワードも指定して、「次へ」をクリックします。

  6. 「ホスト」ページで、インストールしたOracle RACデータベースのクラスタ・メンバーにするクラスタ内のホスト・ノードを選択します。選択が完了したら、「次へ」をクリックします。

  7. 「データベースへの変換: オプション」ページで、既存のリスナーとポート番号を使用するか、またはクラスタに新しいリスナーとポート番号を指定するかどうかを選択します。また、クラスタのクラスタ・データベース・インスタンスの接頭辞も指定します。

    情報の入力が終了したら、「次へ」をクリックします。または、情報の入力方法の決定についての情報が必要な場合は、「ヘルプ」をクリックします。

  8. 「クラスタ・データベースへの変換: 共有記憶域」ページで、既存の共有記憶域領域を使用するオプションを選択するか、またはデータベース・ファイルを新しい共有記憶域の場所にコピーするオプションを選択します。また、既存の高速リカバリ領域を使用するか、またはOracle Databaseによって管理されたファイルを使用して、リカバリ・ファイルを新しい高速リカバリ領域にコピーするかどうかを決定します。

    Oracle ASMを使用する場合、データ・ファイルとリカバリ・ファイルを別の障害グループに配置することをお薦めします。障害グループは、2つのディスク間で共有されているコントローラなどの共有ハードウェアまたは同じスピンドル上にある2つのディスクによって定義されます。2つのディスクで障害が発生したハードウェアを共有しており、両方のディスクが使用できなくなった場合、これらのディスクは同じ障害グループに属しています。Oracle ASMを使用しない場合、データ・ファイルとリカバリ・ファイルを別の場所(別個のOracle ASM障害グループなど)に配置して、ハードウェアの障害によって可用性が低下しないようにすることをお薦めします。

    情報の入力が終了したら、「次へ」をクリックします。または、情報の入力方法の決定についての情報が必要な場合は、「ヘルプ」をクリックします。

  9. 「クラスタ・データベースへの変換: 確認」ページで、選択したオプションを確認します。変換に進むには、「ジョブの発行」をクリックします。選択したオプションを変更するには、「戻る」をクリックします。変換を取り消す場合は、「取消」をクリックします。

  10. 「確認」ページで、「ジョブの表示」をクリックし、変換の状態を確認します。

15.4 rconfigを使用したデータベースのOracle RACへの変換

コマンドライン・ユーティリティrconfigを使用すると、ConvertToRAC.xmlファイルで提供する値に応じて、シングル・インスタンス・データベースをOracle RACデータベースに変換することも、Oracle RAC One Nodeデータベースに変換することもできます。この機能を使用するには、次の手順を実行します。

  1. oracleユーザーで、$ORACLE_HOME/assistants/rconfig/sampleXMLsディレクトリに移動し、viなどのテキスト・エディタを使用してConvertToRAC.xmlファイルを開きます。

  2. ConvertToRAC.xmlファイルを確認し、システムに必要なパラメータを変更します。XMLサンプル・ファイルには、ファイルの構成方法を説明するコメントが含まれています。

    警告:

    変換が正常に完了することを確認するには、変換オプションConvert verify="ONLY"を設定して、テスト変換を実行します。

    パラメータの変更が終了したら、file_name.xmlという形式の名前を付けてファイルを保存します。選択した名前を記録しておきます。

  3. ディレクトリ$ORACLE_HOME/binに移動し、次のコマンドを使用してrconfigを実行します(ここで、input.xmlは手順2で構成したXML入力ファイルの名前です)。

    rconfig input.xml

    たとえば、convert.xmlというXML入力ファイルを作成した場合は、次のコマンドを使用します。

    $ ./rconfig convert.xml

注意:

ConvertToRAC.xmlファイルのConvert verifyオプションには、3つのオプションがあります。

  • Convert verify="YES": rconfigは変換を開始する前に、シングル・インスタンスからOracle RACに変換するための前提条件が満たされていることを確認するチェックを行います。

  • Convert verify="NO": rconfigは前提条件のチェックを行わずに、変換を開始します。

  • Convert verify="ONLY": rconfigは前提条件のチェックのみを行います。前提条件のチェックが完了しても変換は開始されません。

変換の実行に失敗した場合、次の手順を使用してリカバリを実行し、変換を再試行します。

  1. DBCAのデータベースの削除オプションを使用して、データベースの削除を試行します。

  2. ソース・データベースをリストアします。

  3. 変換ログを確認し、rconfigでレポートされた問題で変換の失敗の原因になった可能性があるものを修正します。rconfigのログ・ファイルは、$ORACLE_BASE/cfgtoollogsrconfigディレクトリの下に作成されます。

  4. 変換を再試行します。

15.5 ConvertToRAC用のrconfig XML入力ファイルの例

次の2つの例は、rconfigユーティリティ用のConvertToRAC XML入力ファイルです。例15-1のXML入力ファイルは、Oracle ASMを使用したシングル・インスタンス・データベースを、Oracle ASM記憶域でポリシー管理Oracle RACデータベース(サーバー・プールを使用)に変換するものです。例15-2のXML入力ファイルは、Oracle ASMを使用したシングル・インスタンス・データベースを、管理者管理Oracle RACデータベースに変換するものです。

例15-1 ポリシー管理データベースのrconfig ConvertToRAC 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:Password>oracle</n:Password>
	          <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ファイルの例

<?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:Password>oracle</n:Password>
	          <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>

15.6 変換後の手順

変換の終了後は、次で説明されているとおり、Oracle RAC環境に関する次の推奨事項に注意してください。

  • すでに説明したとおり、ロード・バランシングおよび透過的アプリケーション・フェイルオーバーを使用する推奨事項に従います

  • 『Oracle Database管理者ガイド』の説明に従って、ディクショナリ管理表領域ではなくローカル管理表領域を使用して、競合を軽減し、順序をOracle RACで管理します。

  • 自動セグメント領域管理の使用方法については、『Oracle Database管理者ガイド』のガイドラインに従ってください。

Oracle RACでのバッファ・キャッシュおよび共有プールの容量に関する要件は、シングル・インスタンスのOracle Databaseでの要件よりもわずかに大きくなります。このため、バッファ・キャッシュのサイズを約10%、共有プールのサイズを約15%増加する必要があります。