プライマリ・コンテンツに移動
Oracle® Real Application Clustersインストレーション・ガイド
11g リリース2 (11.2) for Linux and UNIX Systems
B56272-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

C シングル・インスタンスOracle DatabaseからOracle RACおよびOracle RAC One Nodeへの変換

この付録では、Oracle Database 11g リリース2(11.2)のシングル・インスタンスのデータベースからOracle Real Application Clusters(Oracle RAC)データベースおよびOracle RAC One Nodeデータベースに変換する方法について説明します。この付録の内容は次のとおりです。

Oracle Parallel ServerからOracle RACにアップグレードする場合または以前のバージョンのOracle RACからアップグレードする場合は、Oracle Database Upgrade Assistant(DBUA)を使用します。

この付録の手順は、元のシングル・インスタンス・データベースとターゲットのOracle RACデータベースが同じリリースを使用して、同じプラットフォーム上で実行されていることを前提としています。


注意:

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


関連項目:

購入したライセンスに適用するコンプライアンス要件の詳細は、『Oracle Databaseライセンス情報』を参照してください。

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

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

  • シングル・インスタンスのOracle DatabaseからOracle RACに変換する前に、正しい手順でバックアップを行う必要があります。

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

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

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

C.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ユーティリティ(SRVCTL)で使用するために、Oracle Net ServicesとOracle Clusterwareリソースの構成およびOracle RACデータベース管理用の構成を行います。

DBCAを使用してシングル・インスタンスのデータベースをOracle RACまたはOracle RAC One Nodeデータベースに変換する前に、システムが次の条件を満たしていることを確認します。

  • サポートされているハードウェアおよびオペレーティング・システム・ソフトウェア構成である。

  • 共有記憶域があり、Oracle Cluster File SystemまたはOracle ASMのいずれかが使用可能で、すべてのノードからアクセスできる。Linux on POWER Systemsの場合は、GPFSが使用可能で、すべてのノードからアクセスできる。

  • 使用しているアプリケーションが、その特性によりクラスタ・データベース・プロセスで使用不可能になることがない。

ご使用のプラットフォームがクラスタ・ファイル・システムをサポートしている場合は、Oracle RACでそのクラスタ・ファイル・システムを使用できます。Oracle RACに変換して、非共有ファイル・システムを使用することもできます。いずれの場合も、Oracle Universal Installer(OUI)を使用してOracle Database 11g リリース2(11.2)をインストールし、クラスタで選択された各ノード上の同じ位置にOracleホームおよびインベントリを設定することをお薦めします。

この項の内容は次のとおりです。

C.2.1 DBCAを使用したOracle Database 11g のインストールのOracle RACへの変換

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

C.2.1.1 元のシングル・インスタンス・データベースのバックアップ

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

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

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

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

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

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

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

    デフォルトでは、テンプレート・ファイルはディレクトリORACLE_HOME/assistants/dbca/templatesに作成されます。必要に応じて、「説明」フィールドにファイルの説明を入力したり、「テンプレート・データファイル」フィールドでテンプレート・ファイルの位置を変更できます。

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

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

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

C.2.1.2 Oracle Clusterwareのインストール

ご使用のプラットフォーム用のOracle Grid Infrastructureのインストレーション・ガイドの説明に従って、Oracle Clusterwareのインストールを実行します。

C.2.1.3 クラスタの検証

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

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

事前構成済データベース・イメージをコピーします。前述の手順「元のシングル・インスタンス・データベースのバックアップ」でDBCAを使用して作成したデータベース構造ファイル(*.dbc)およびデータベースの事前構成済イメージ・ファイル(*.dfb)を、DBCAを実行するクラスタのノード上の一時的な位置にコピーします。

C.2.1.5 Oracle Database 11gソフトウェアおよびOracle RACのインストール

  1. OUIを実行して、Oracle DatabaseおよびOracle RACをインストールします。

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

  3. OUIのデータベースの構成タイプのページで、「詳細」インストール・タイプを選択します。

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

  4. DBCAのテンプレートを選択するページで、「事前構成済データベース・イメージのコピー」の手順で一時的な位置にコピーしたテンプレートを使用します。テンプレートの位置を選択するには、「参照」オプションを使用します。

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

  5. OUIの「記憶域オプション」ページでRAWデバイスを選択し、環境変数DBCA_RAW_CONFIGを設定していない場合は、DBCAの「初期化パラメータ」ページのファイルの場所タブで、データ・ファイル、制御ファイル、ログ・ファイルなどを対応するRAWデバイス・ファイルと置き換えます。記憶域のページでもデフォルトのデータベース・ファイルをRAWデバイスに置き換える必要があります。

  6. Oracle RACデータベースを作成すると、「パスワード管理」ページが表示されます。このページでは、SYSDBASYSOPERのロールを持ち、データベース権限を付与されたユーザーのパスワードを変更する必要があります。DBCAを終了すると、変換処理が完了します。

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

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

  1. ディレクトリを$ORACLE_HOME/binに変更します。

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

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

  4. C.2.1.5項「Oracle Database 11gソフトウェアおよびOracle RACのインストール」で選択したデプロイ用のテンプレートを使用します。

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

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

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

次の手順に従って、クラスタがインストールされた(Oracle Database 11gおよびOracle RACの)Oracleホームから実行されている、クラスタ上のシングル・インスタンス・データベースを変換します。

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

  2. クラスタにノードを追加するには、ご使用のプラットフォーム用のOracle Grid Infrastructureのインストレーション・ガイドの説明に従って、クラスタにノードを追加および接続します。すべてのノードが共有記憶域にアクセスできることを確認します。また、『Oracle Clusterware管理およびデプロイメント・ガイド』のクラスタウェアおよびOracleソフトウェアの新規ノードへの拡張に関する項の手順に従って、Oracle Clusterwareホームを新しいノードに拡張します。

  3. 既存のOracleホームから、『Oracle Clusterware管理およびデプロイメント・ガイド』のOracle RAC データベース・レイヤーでのノードの追加に関する項の手順に従って、このホームを新しいノードに拡張します。

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

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

C.2.3.1.1 DBCAを使用した自動変換の手順
  1. 「元のシングル・インスタンス・データベースのバックアップ」の説明に従ってシングル・インスタンス・データベースの事前構成済イメージを作成した場合は、DBCAを使用してOracle RACデータベースへの変換を実行します。

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

  3. クラスタ・データベース・ファイル用にRAWデバイスを使用するには、表示される「初期化パラメータ」ページのファイルの場所タブで、SPFILE用のRAWデバイス名を入力します。記憶域のページで、デフォルトのデータベース・ファイル名を、制御ファイル、REDOログおよびデータ・ファイル用のRAWデバイスに置換して、クラスタ・データベースを作成します。「終了」をクリックすると、データベースが作成されます。

Oracle RACデータベースを作成すると、「パスワード管理」ページが表示されます。このページでは、SYSDBASYSOPERのロールを持ち、データベース権限を付与されたユーザーのパスワードを変更する必要があります。DBCAを終了すると、変換処理が完了します。

C.2.3.1.2 手動変換の手順

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

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


    関連項目:

    OFAの詳細は、「Oracle RACのディレクトリ構造」を参照してください。

  2. ファイル・システム上のシングル・インスタンス・データベースをRAWデバイスに変換する場合は、ddコマンドを使用して、データベースのデータ・ファイル、制御ファイル、REDOログおよびサーバー・パラメータ・ファイルを対応するRAWデバイスにコピーします。それ以外の場合は、次の手順に進みます。

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

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

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

    CREATE PFILE='pfile_name' from spfile='spfile_name'
    
  6. CLUSTER_DATABASEパラメータをTRUEに設定し、sid.parameter=value構文を使用して、INSTANCE_NUMBERパラメータをインスタンスごとに一意の値に設定します。

    シングル・インスタンス・データベースのメモリー使用量を最適化していた場合は、システム・グローバル領域(SGA)のサイズを調整して、Oracle RACへの変換時にスワップおよびページングが発生しないようにします。この調整が必要な理由は、Oracle RACでは、グローバル・キャッシュ・サービス(GCS)用に、各バッファに約350バイトずつ必要になるためです。たとえば、バッファが10000ある場合、Oracle RACは約350×10000バイトの追加メモリーを必要とします。したがって、DB_CACHE_SIZEパラメータとDB_nK_CACHE_SIZEパラメータをこれに応じて変更し、SGAのサイズを調整します。

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

  8. シングル・インスタンス・データベースで自動UNDO管理を使用していた場合は、CREATE UNDO TABLESPACE SQL文を使用して、追加インスタンスごとにUNDO表領域を作成します。RAWデバイスを使用している場合は、UNDO表領域用のデータ・ファイルがRAWデバイス上にあることを確認します。

  9. 2つ以上のREDOログを持つREDOスレッドを追加インスタンスごとに作成します。RAWデバイスを使用している場合は、REDOログ・ファイルがRAWデバイス上にあることを確認します。SQL文のALTER DATABASEを使用して、新しいREDOスレッドを使用可能にします。その後で、データベース・インスタンスを停止します。

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

  11. REMOTE_LISTENER=LISTENER_DB_NAMEパラメータとsid.LOCAL_LISTENER=LISTENER_SIDパラメータをPFILEに追加します。

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

  13. 「サーバー・パラメータ・ファイルへの移行手順」で説明した手順に従って、PFILEからSPFILEを作成します。クラスタ・ファイル・システムを使用していない場合は、SPFILEがRAWデバイス上にあることを確認します。

  14. 次のエントリが含まれている$ORACLE_HOME/dbs/initsid.oraファイルを作成します。

    spfile='spfile_path_name'
    

    spfile_path_name変数は、SPFILEの完全パス名です。

  15. ローカル・ノードで、catclust.sqlを実行します。このコマンドによって、Oracle RACデータベースに必要なディクショナリ・ビューが作成されます。次に例を示します。

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

  17. SRVCTLを使用してデータベースを起動します。

SRVCTLを使用してデータベースを起動すると、変換処理は完了します。たとえば、次のSQL文を実行すると、Oracle RACデータベースのすべてのインスタンスの状態を確認できます。

SQL> select * from v$active_instances

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

単一ノードのクラスタ(およびOracle RAC)をインストールした後、シングル・インスタンス・データベースの作成前にOracle RAC機能をoracleバイナリからリンク解除して使用禁止にした場合は、使用禁止になっているOracle RACのOracleホームから実行されているクラスタにシングル・インスタンスをインストールできます。(ただし、「ノードの選択」ページでローカルおよび非クラスタを選択して、クラスタにOracle RAC非対応のシングル・インスタンスのホームを作成することもできます。)次の手順に従って、このタイプのシングル・インスタンス・データベースをOracle RACデータベースに変換します。

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

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

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

    make -f ins_rdbms.mk rac_on
    make -f ins_rdbms.mk ioracle 
    
  4. 手順2に進みます。

C.2.3.3 シングル・インスタンスがインストールされているOracleホームからクラスタ上のシングル・インスタンスが実行されている場合

シングル・インスタンスのOracle Database 11gリリース2(11.2)のインストール時にOUIの「ハードウェアのクラスタ・インストール・モードの指定」ページで「ローカル・インストール」を選択した場合にのみ、シングル・インスタンスがインストールされているOracleホームから実行されているクラスタにシングル・インスタンスをインストールできます。

このタイプのデータベースをOracle RACデータベースに変換するには、次の項の手順を実行します。

  1. 「元のシングル・インスタンス・データベースのバックアップ」

  2. 「Oracle Clusterwareのインストール」

  3. 「クラスタの検証」

  4. 「Oracle Database 11gソフトウェアおよびOracle RACのインストール」。この手順では、シングル・インスタンス・データベースが実行されていたOracleホームとは異なるOracleホームが選択されていることを確認します。

C.2.4 Oracle RACへのOracle RAC One Nodeの変換

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

$ srvctl convert database -c RAC

このコマンドを実行した後に、データベース・サーバー・プールの他に、データベースが持つサービスごとにサーバー・プールを作成する必要があります。このサービス・サーバー・プールのSERVER_NAMESの値に、Oracle RAC One NodeからOracle RACノードに変換したノードを設定する必要があります。

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

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


関連項目:

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

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

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


注意:

データベースに対して大規模な変更を行う前の作業と同様に、変換を実行する前には、既存のデータベースのバックアップを作成しておきます。

C.3.1 Oracle RACデータベースへの変換の前提条件

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

  • Oracle Clusterware 11g リリース2(11.2)がインストールおよび構成済で実行されている。

  • Oracle RAC 11g リリース2(11.2)ソフトウェアがインストールされている。

  • Oracle RACに対しOracleバイナリが使用可能である。

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

  • oracleアカウントにユーザー等価関係が存在する。

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

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


注意:

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

C.3.2 RCONFIGを使用したOracle RACへの変換時の構成の変更

rconfigを使用してシングル・インスタンスのデータベースをOracle RACに変換すると、次の変更が行われることに注意してください。

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

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

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

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

C.3.3 RCONFIGまたはOracle Enterprise Managerを使用したデータベースのOracle RACへの変換

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

  • シングル・インスタンスOracle Database 11gリリース2(11.2)をOracle 11gリリース2(11.2)Oracle RACデータベースに、このシングル・インスタンスのデータと同じOracleホームから実行し、同じデータ/ファイルを使用するように変換する。

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

  • Oracle Database 11g リリース2(11.2)より前のバージョンのシングル・インスタンスのOracle Databaseを、このシングル・インスタンスのデータベースと同じOracleホームから実行し、同じデータ・ファイルを使用するように変換する。

    このシナリオでは、OUIおよびDatabase Upgrade Assistant(DBUA)を使用して、シングル・インスタンスのデータベースをOracle Database 11g リリース2(11.2)にアップグレードします。その後で、前述のシナリオで説明したようにrconfigまたはOracle Enterprise ManagerのRACへの変換オプションを使用します。

  • シングル・インスタンスOracle Database 11gリリース2(11.2)をOracle 11gリリース2(11.2)Oracle RACデータベースに、このシングル・インスタンスのデータと異なるOracleホームから実行し、同じデータ/ファイルを使用するように変換する。

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

  • シングル・インスタンスOracle Database 11gリリース2(11.2)を11gリリース2(11.2)Oracle RACデータベースに、異なるOracleホームから、シングル・インスタンス・データベースが実行されているホストがOracle RACデータベースのノードのいずれかではない場所で実行するように変換する。

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

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

Oracle Enterprise Manager Grid Controlを使用して、シングル・インスタンスのデータベースをOracle RACに変換できます。この機能を使用するには、次の手順を実行します。


関連項目:

既存のOracle Databaseのインストールのアップグレードについては、『Oracle Databaseアップグレード・ガイド』を参照してください。

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

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

  3. 「データベース・インスタンス」の「ホーム」ページで、「データベースの変更」タブをクリックします。

  4. 「管理」ページにある「データベース管理」の「データベースの変更」セクションで、「クラスタ・データベースへの変換」をクリックします。

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

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

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

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

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

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

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

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

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

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

C.4 RCONFIGを使用したデータベースのOracle RACへの変換

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


関連項目:

既存のOracle Databaseのインストールのアップグレードについては、『Oracle Databaseアップグレード・ガイド』を参照してください。

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

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


    注意:

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

    変更が完了したら、filename.xmlという形式でファイルを保存します。選択した名前を記録しておきます。

  3. $ORACLE_HOME/binディレクトリに移動し、次の構文を使用してrconfigコマンドを実行します。

    rconfig input.xml
    

    input.xmlは、手順2で作成した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のログ・ファイルは、$ORACLE_BASE/cfgtoollogsrconfigディレクトリの下に作成されます。

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

C.5 ConvertToRAC用のrconfig XML入力ファイルの例

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

例C-1 ポリシー管理型のデータベースのrconfig ConvertToRAC

<?xml version="1.0" encoding="UTF-8"?>
<n:RConfig xmlns:n="http://www.oracle.com/rconfig"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.oracle.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/11.2.0/db_1</n:SourceDBHome>
<!--Specify OracleHome where the rac database should be configured. It can be same as SourceDBHome -->
              <n:TargetDBHome>/oracle/product/11.2.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 will be 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>

例C-2 管理者管理データベースのrconfig ConvertToRAC

<?xml version="1.0" encoding="UTF-8"?>
<n:RConfig xmlns:n="http://www.oracle.com/rconfig"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.oracle.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/11.2.0/db_1</n:SourceDBHome>
<!--Specify OracleHome where the rac database should be configured. It can be same as SourceDBHome -->
              <n:TargetDBHome>/oracle/product/11.2.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 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>

C.6 変換後の手順

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

  • ロード・バランシングおよび透過的アプリケーション・フェイルオーバーの使用方法については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』で説明する推奨事項に従ってください。

  • 『Oracle Real Application Clusters管理およびデプロイメント・ガイド』の説明に従って、ディクショナリ管理表領域ではなくローカル管理表領域を使用して、競合を軽減し、順序をOracle RACで管理します。

  • 自動セグメント領域管理の使用方法については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』のガイドラインに従ってください。

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