5 既存のデータベースのOracle RACまたはOracle RAC One Nodeへの変換

単一インスタンス・データベースをOracle RACデータベースまたはOracle Real Application Clusters (Oracle RAC) One Nodeデータベースに変換できます。また、Oracle Real Application Clusters (Oracle RAC) One NodeデータベースをOracle RACデータベースに変換することもできます。

5.1 Oracle RACデータベースへのOracle Databaseの変換について

単一インスタンス・データベースがあり、Oracle RACまたはOracle RAC One Nodeに変換する場合、Oracle Enterprise ManagerまたはDatabase Configuration Assistant (DBCA)を使用すると、単一インスタンスのデータベース・インストールをOracle Real Application Clusters (Oracle RAC)データベースに変換するタスクを簡単に実行できます。

Oracle Enterprise Manager Cloud Controlの「クラスタ・データベースへの変換」オプションは、GUI変換ツールを提供します。また、単一インスタンス・データベースをOracle RACデータベースに変換した後、srvctlユーティリティを使用して、そのデータベースをOracle RAC One Nodeデータベースに変換できます。

5.1.1 データベースの変換の準備について

データベースをクラスタ・データベースに変換するプロセスを開始する前に、データベース環境が一定の前提条件を満たしている必要があります。

  • 既存のデータベースとターゲットOracle RACデータベースは、Oracle Database 12cと同じリリースであり、同じプラットフォーム上で実行している必要があります。

  • Oracle RACデータベースの実装に使用するハードウェアおよびオペレーティング・システム・ソフトウェアが、インストールするOracle RACソフトウェアのリリースでの使用を認定されている必要があります。

  • Oracle RACデータベース用の共有記憶域を構成する必要があります。Oracle Cluster Registry、投票ファイル、グリッド・インフラストラクチャ管理リポジトリなど、Oracle Clusterwareファイル用に共有記憶域が追加で必要になります。

  • Oracle RACデータベースに対して実行する任意のアプリケーションをクラスタ・データベースで正常に使用できるようにするためには、それらのアプリケーションで追加構成を何も必要としないことを検証する必要があります。これは、Oracle StreamsなどのOracleアプリケーションとデータベース機能、およびOracle以外のアプリケーションと製品の両方に適用されます。

  • 単一インスタンスのOracle DatabaseからOracle RACに変換する前に、バックアップを実行可能にする必要があります。

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

  • メディア・リカバリには、Oracle RACデータベースのすべてのインスタンスのアーカイブREDOログ・ファイルが必要です。ファイルにアーカイブして、クラスタ・ファイル・システム、または共有ファイル・システムを提供するその他の方法を使用しない場合、クラスタ・データベースにインスタンスが含まれているすべてのノードのアーカイブREDOログ・ファイルにアクセスする方法が必要となります。

注意:

個々のOracle Database 12cデータベース製品またはオプションの使用方法の詳細は、Oracle Help Center Webサイトの製品ドキュメント・ライブラリ(http://docs.oracle.com/en/database/)を参照してください。

5.1.2 Cloud Controlを使用するデータベース変換プロセスの概要

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

この項では、単一インスタンス・データベースをOracle RACデータベースに変換するプロセスの概要を示します。

  • Oracle RACデータベースに変換する場合に前提条件となる次のタスクを実行します。

    • Oracle ClusterwareおよびOracle Databaseソフトウェアをすべてのターゲット・ノードにインストールします。

    • Oracle Clusterwareを起動します。

    • すべてのターゲット・ノードでOracle RACに対してOracle Databaseバイナリを有効にします。

    • 共有記憶域を構成して、すべてのノードからアクセス可能にします。

    • 変換を実行しているオペレーティング・システム・ユーザーに対して、ユーザー等価関係を構成します。

    • Oracle Enterprise Managerのエージェントを、クラスタ情報およびホスト情報を使用してすべてのノードで構成および実行します。

    • 変換するデータベースを正常にバックアップしておきます。

  • 変換するデータベースのホームページにアクセスします。「データベース・ホーム」ページへの移動の手順については、『Oracle Database 2日でデータベース管理者』の「データベースのホームページへのアクセス」に関する項を参照してください。

  • 「可用性」メニューで、「クラスタ・データベースへの変換」を選択します。

  • 必要な資格証明を指定します。

  • 新しいデータベースのインスタンスを含める必要があるホスト・ノードを選択します。

  • リスナーおよびインスタンスの構成情報を指定します。

  • データファイルに使用する共有記憶域の場所を指定します。

  • ジョブを発行します。

  • 変換後のタスクを実行します。

変換されたOracle RACデータベースは、固定された構成ではなくサーバー・プールを使用します。

関連項目:

このプロセスの詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照してください。

5.2 DBCAを使用した単一インスタンス・データベースのOracle RACへの変換

単一インスタンス・データベースがクラスタ・ノードで稼働している場合、Database Configuration Assistant (DBCA)を使用してそのデータベースをOracle RACまたはOracle RAC One Nodeに変換できます。

  1. $ORACLE_HOME/binディレクトリに移動します。
  2. DBCAを起動します。
    $ dbca
  3. 「ようこそ」ウィンドウで、「次へ」をクリックします。
  4. 「操作」ページで、「テンプレートの管理」を選択して「次へ」をクリックします
  5. 「テンプレート管理」ページで、「データベース・テンプレートの作成」および「既存のデータベースを使用(データおよび構造)」を選択して「次へ」をクリックします
  6. 「ソース・データベース」ページで、「データベース・インスタンス」リストでデータベース名を選択して「次へ」をクリックします
  7. 別のウィンドウで、次のようにSQLを使用してプラガブル・データベース(PDB)がすべてオープンされていることを確認します。
    SQL> SELECT name, open_mode FROM v$pdbs;

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

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

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

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

  9. 「データベース関連ファイルの位置」ページで、現行のディレクトリ構造にデータベースをリストアできるように「ファイル位置を保持」を選択して「終了」をクリックします。
    DBCAは、データベース構造ファイル(template_name.dbc)およびデータベースの事前構成済イメージ・ファイル(template_name.dfb)の2つのファイルを生成します。
  10. DBCAを再度起動します。
  11. 「ようこそ」ウィンドウから、「Oracle RAC One Nodeデータベース」を選択します。
  12. DBCAのテンプレート選択ページで、手順8で一時的な場所にコピーしたテンプレートを使用します。「現行」オプションを使用して、テンプレートの場所を選択します。
  13. デプロイするオプションを選択します。

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

5.3 Oracle RACデータベースのOracle RAC One Nodeデータベースへの変換

単一インスタンスのOracle Databaseを単一ノードのOracle RACデータベースに変換した後、srvctlユーティリティを使用してそのデータベースをOracle RAC One Nodeデータベースに変換できます。

データベースをOracle RAC One Nodeデータベースに変換するには、次のコマンドを使用します。

srvctl convert database -db database_name -dbtype RACONENODE

Oracle RAC One Nodeデータベースは、フェイルオーバーまたはオンライン・データベース再配置をサポートするために、マルチノード・クラスタの一部である必要があります。クラスタ用Oracle Grid InfrastructureとOracle RACを2つ以上のノードにインストールするか、または既存の単一ノードのOracle RACデータベースにノードを追加する必要があります。

関連項目:

5.4 Oracle RAC One NodeからOracle RACへのデータベースの変換

Oracle RAC One NodeデータベースをOracle RACデータベースに変換できます。

変換を実行するには、Oracle RAC One Nodeデータベース所有者としてログインし、次のSRVCTLコマンドを入力します。

srvctl convert database -db db_unique_name -dbtype RAC

オンライン・データベース再配置を使用してOracle RACに変換するデータベースを再配置している場合、またはオンライン・データベース再配置が失敗した場合は、srvctl convert databaseコマンドを実行する前に、再配置を終了するか、完了させる必要があります。

管理者管理Oracle RAC One NodeデータベースをOracle RACデータベースに変換すると、シングル・インスタンス・データベースがデータベース・サービスの優先インスタンスになるようにすべてのデータベース・サービスが構成されます。データベースを変換した後は、srvctl add instanceコマンドを実行してインスタンスをデータベースに追加できます。

ポリシー型管理のOracle RAC One NodeデータベースをOracle RACデータベースに変換すると、すべてのデータベース・サービスのカーディナリティがUNIFORMに設定されます。また、このデータベースが現在実行されているサーバー・プールが再利用されることになります。変換では、このデータベースがサーバー・プール内のすべてのノードで実行されるように再構成されます。このコマンドでは、追加のインスタンスは起動されませんが、srvctl start databaseコマンドを実行すると、サーバー・プール内のすべてノードでこのデータベースが起動します。

関連項目:

このコマンドの詳細は、srvctl convert databaseを参照してください。