ヘッダーをスキップ
Oracle Universal InstallerおよびOpatchユーザーズ・ガイド
11gリリース1(11.1) for Microsoft Windows and UNIX Systems
E05707-05
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

6 Oracleソフトウェアのクローニング

この章では、Oracle Universal Installer(OUI)を使用したOracleクローニングに関する情報を示します。この章の内容は次のとおりです。

クローニングについて

クローニングは、既存のOracleインストールを別の場所にコピーして、新しい環境で機能するようにコピーした部分を更新するプロセスです。クローニング元のOracleホームで個別パッチの適用によって行われた変更は、クローン操作後も存在します。コピー元とコピー先(クローニング先のホスト)のパスが同じである必要はありません。クローニングの際、OUIはホームをインストールするために実行したアクションを再現します。クローン・モードと呼ばれる特殊モードでOUIがアクションを実行することを除けば、インストールとほぼ同じです。クローニングは、次のような状況で役立ちます。

クローニングされたインストールは、クローニング元のインストールと同じ動作をします。たとえば、クローニングされたOracleホームは、OUIを使用して削除したり、OPatchを使用してパッチを適用したりできます。クローニングされたOracleホームは、他のクローニング操作のソースとしても利用可能です。コマンドライン・クローニング・スクリプトを使用することで、テスト・インストール、開発インストールまたは本番インストールのクローン・コピーを作成できます。多くの場合、デフォルトのクローニング手順で十分です。ただし、カスタム・ポート割当ての指定やカスタム設定の保存など、クローニングの様々な特徴をカスタマイズすることもできます。

クローニング・プロセスは、クローニング元のOracleホームからクローニング先のOracleホームにすべてのファイルをコピーします。このため、クローニング元のOracleホームのディレクトリ構造の外部にあるソース・インスタンスで使用されているファイルは、クローニング先の場所にコピーされません。

クローニング元とクローニング先にあるバイナリは、クローン操作の一環として再リンクされるため、これらのバイナリのサイズは異なる場合があります。また、オペレーティング・システムのパッチ・レベルもこの2つの場所で異なる場合があります。さらに、クローニング元からコピーされたいくつかのファイル(具体的にはインスタンス化されているファイル)はクローン操作の一環としてバックアップされるため、クローニング先のホーム内のファイル数は増加します。

OUIのクローニングは、クローニングされるホームのセントラル・インベントリとOracleホーム・インベントリを構成するため、tarballアプローチより優れています。また、クローニングは、ホームの管理を容易にして、クローニングされるホームとターゲット・ホームで異なるパスを使用できます。

クローニング・プロセスの概要

クローニング・プロセスは、OUIのクローニング機能を使用します。この操作は、それぞれのOracleソフトウェアに含まれているスクリプトとアドオンの設定により実行されます。クローニング処理には次の2つのフェーズがあります。

ソース準備フェーズ

クローニング元のOracleホームでクローニングを準備するには、次の手順を実行します。

  • クローニング元で、prepare_clone.plというスクリプトを実行します。これは、クローニングのソースを準備するPerlスクリプトであり、クローニングに必要な情報を記録します。このスクリプトは、一般に次の場所にあります。

    $ORACLE_HOME/clone/bin/prepare_clone.pl
    

    このフェーズ中に、prepare_clone.plにより、クローニング元のOracleホーム内のファイルが解析され、必要な値が抽出および格納されます。


    注意:

    準備フェーズを実行する必要があるかどうかは、インストールしているOracle製品によって異なります。このスクリプトは、アプリケーション・サーバーのクローニングに対してのみ実行する必要があります。データベースとCRS Oracleホームのクローニングでは必要ありません。

  • アーカイブ用の任意のツールを使用して、クローニング元のOracleホームをアーカイブおよび圧縮します。たとえば、Microsoft Windowsシステムのコンピュータの場合はWinZip、UNIXの場合はtarまたはgzipを使用できます。使用しているツールでアクセス権限とファイルのタイムスタンプが保持されることを確認してください。また、ホームをアーカイブする場合は、*.log*.dbflistener.orasqlnet.oraおよびtnsnames.oraをアーカイブから除外してください。次のフォルダもアーカイブしないでください。

    $ORACLE_HOME/<Hostname>_<SID>
    $ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_<Hostname>_<SID>
    

    除外ファイル・リストのサンプルを次に示します。

    $ cat excludedFileList.txt
    ./install/make.log
    ./cfgtoollogs/cfgfw/CfmLogger_2007-07-13_12-03-16-PM.log
    ./cfgtoollogs/cfgfw/oracle.server_2007-07-13_12-03-17-PM.log
    ./cfgtoollogs/cfgfw/oracle.network.client_2007-07-13_12-03-18-PM.log
    ./cfgtoollogs/cfgfw/oracle.has.common_2007-07-13_12-03-18-PM.log
    ./cfgtoollogs/cfgfw/oracle.assistants.server_2007-07-13_12-03-18-PM.log
    ./cfgtoollogs/cfgfw/OuiConfigVariables_2007-07-13_12-03-18-PM.log
    ./cfgtoollogs/cfgfw/oracle.sysman.console.db_2007-07-13_12-03-18-PM.log
    ./cfgtoollogs/cfgfw/oracle.sqlplus.isqlplus_2007-07-13_12-03-18-PM.log
    ./cfgtoollogs/oui/cloneActions2007-07-13_11-52-19AM.log
    ./cfgtoollogs/oui/silentInstall2007-07-13_11-52-19AM.log
    

    次の例では、各種プラットフォームでソースをアーカイブおよび圧縮する方法を示します。

    To archive and compress:
    tar cpf - . | compress -fv > temp_dir/archiveName.tar.Z  ( for "aix" or $^O eq 
    "hpux")
    tar cpfX - excludeListFile . | compress -fv > temp_dir/archiveName.tar.Z (for 
    remaining UNIX based systems)
    

    注意:

    Oracleホームのアーカイブおよび圧縮には、jarユーティリティを使用しないでください。

クローニング・フェーズ

クローニング先のシステムで、Oracleホームを解凍し、clone.plスクリプトを実行します。このPerlスクリプトは、OUIおよび様々なユーティリティを実行することで、クローニング操作のすべての部分を自動的に実行します。このスクリプトは、OUIのクローニング機能を利用します。clone.plスクリプトを実行すると、OUIで対応されていない可能性のある詳細が処理されます。ホームがクローニングされるコンピュータのセントラル・インベントリは、Oracleホーム・インベントリ($ORACLE_HOME/inventory)であるため、更新されます。

次の例では、各種プラットフォームでソースを解凍する方法を示します。

To unarchive:
mkdir  Destination_oracle_home
cd   Destination_oracle_home
zcat temp_dir/archiveName.tar.Z | tar xpf - (for "hpux")
zcat temp_dir/archiveName.tar.Z | tar xBpf -  (for remaining UNIX based systems)

クローニングを行うには、システムにPerl 5.6以上がインストールされている必要があります。必ずパス環境変数を適切なPerl実行可能ファイルに設定してください。


注意:

クローニング先のホームには、クローニング操作中に作成された追加のファイルが含まれるため、クローニング先のホームとクローニング元のホームのサイズは同一になりません。

ログ・ファイルの検索および表示

クローニング・スクリプトは、複数のツールを実行します。各ツールは独自のログ・ファイルを生成することがあります。ただし、次のログ・ファイルはOUIとクローニング・スクリプトによって生成されたもので、診断目的としては興味深い重要なログ・ファイルです。

Oracleインベントリ・ディレクトリの場所を探すには、LinuxとIBM AIXを除くすべてのUNIXシステムのコンピュータの場合、/var/opt/oracle/oraInst.locファイルを参照します。IBM AIXおよびLinuxベースのシステムでは、/etc/oraInst.locファイルを参照します。

Windowsシステムのコンピュータでは、Windowsレジストリ・キーHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\INST_LOCから場所を取得できます。

clone.plスクリプトの実行が終了した後、これらのログ・ファイルを参照して、クローニング・プロセスに関する詳細情報を入手します。

Oracle Database 11.1のOracleホームのクローニング

Oracle Database 11.1のOracleホームのクローニングには2つの手順があります。

Oracle Database 11.1ソースの準備

クローニング元のOracleホームでクローニングを準備するには、次の手順を実行します。

  1. ホームをクローニングするOracle Databaseのインストールが正常に終了したことを確認してください。

    Windowsシステムのコンピュータの場合は、インストール・セッションに対するinstallActionsdate_time.logファイルを見ることで、インストールのステータスを確認できます。date_timeは、ファイルが作成された日付と時刻を表します(例: installActions2007-05-30_10-28-04PM.log)。このログ・ファイルは、通常、c:\Program Files\Oracle\Inventory\logsディレクトリにあります。

    Linuxベースのシステムの場合、ログは<inventory location>/logsディレクトリに保存されています。セントラル・インベントリの場所を確認するには、「ログ・ファイルの検索および表示」を参照してください。

    パッチをインストールした場合は、次のコマンドを実行してパッチのステータスを確認できます。

    • Windowsベース・システムのコンピュータの場合:

      c:\ORACLE_BASE\ORACLE_HOME\OPatch> set ORACLE_HOME = ORACLE_HOME_using_patch
      c:\ORACLE_BASE\ORACLE_HOME\OPatch> opatch lsinventory
      
    • Linuxベース・システムおよびUNIXベース・システムの場合:

      /ORACLE_BASE/ORACLE_HOME/OPatch> setenv ORACLE_HOME ORACLE_HOME_using_patch
      /ORACLE_BASE/ORACLE_HOME/OPatch> ./opatch lsinventory
      
  2. アーカイブ用の任意のツールを使用して、クローニング元のOracleホームをアーカイブおよび圧縮します。詳細は、「ソース準備フェーズ」を参照してください。

Oracle Database 11.1のクローニング

Oracle Database 11.1をクローニングするには、次の手順を実行します。

  1. zipファイルまたはアーカイブ・ファイルをクローニング先のコンピュータにコピーします。

  2. クローニング先のコンピュータに、zipファイルまたはアーカイブ・ファイルの内容を展開します。内容の抽出については、「クローニング・フェーズ」を参照してください。

  3. クローニング先のコンピュータで$ORACLE_HOME/clone/binディレクトリに移動し、clone.plを実行します。このPerlスクリプトは、様々なユーティリティおよびOUIを呼び出すことで、クローニング操作のすべての部分を自動的に実行します。このスクリプトは、OUIのクローニング機能を利用します。


    注意:

    clone.plスクリプトは、ソフトウェアのみをクローニングし、データベース・インスタンスはクローニングしません。

    次のコマンドは、clone.plスクリプトの構文を示します。

    • Windowsベース・システムの場合:

      perl <Oracle_Home>\clone\bin\clone.pl ORACLE_BASE=<path to oracle base>
      ORACLE_HOME=<Path to the Oracle_Home being_cloned> ORACLE_HOME_
      NAME=<Oracle_Home_Name for the Oracle_Home being cloned> [-command_line_
      arguments]
      
    • Linuxベース・システムおよびUNIXベース・システムの場合:

      perl <Oracle_Home>/clone/bin/clone.pl ORACLE_BASE=<path to oracle base>
      ORACLE_HOME=<Path to the Oracle_Home being_cloned> ORACLE_HOME_
      NAME=<Oracle_Home_Name for the Oracle_Home being cloned> [-command_line_
      arguments]
      

    前述のコマンドは、<command_line_arguments>という変数を使用しています。表6-1は、コマンドライン引数の説明です。

    表6-1 clone.plスクリプトのコマンドライン引数

    コマンドライン引数 説明

    -O

    この引数を使用する場合は、この引数に続く文字列がOUIのクローン・コマンドラインに渡されます。たとえば、このオプションを使用して、OUIで使用するoraparam.iniファイルの場所を渡すことができます。

    '-O -paramFile C:\OraHome_1\oui\oraparam.ini'
    

    -debug

    この引数を使用した場合、スクリプトはデバッグ・モードで実行されます。

    -help

    この引数を使用した場合、スクリプトはクローン・スクリプトのヘルプを出力します。


    $ORACLE_HOME/clone/config/cs.propertiesファイルを使用することにより、コマンドラインに値を渡すこともできます。clone_command_line=<value>に値を入力できます。ここで入力した値は、クローン操作のために実行されるOUIコマンドラインに追加されます。

    たとえば、UNIXシステムのコンピュータでOracleインベントリ・ファイルについてデフォルト以外の場所を指定するには、cs.propertiesファイルに次の行を追加します。

    clone_command_line= -invptrloc /private/oracle/oraInst.loc
    

    注意:

    複数の引数を指定するには、各引数を空白で区切ります。

  4. OUIが起動してcloneActionstimestamp.logファイルにクローニング・アクションを記録した後、必要に応じてログ・ファイルを検索します。

    • Windowsベースのシステムでは、通常、このログ・ファイルは次のディレクトリにあります。

      c:\Program Files\Oracle\Inventory\logs
      
    • LinuxベースおよびUNIXベースのシステムでは、通常、このログ・ファイルは次のディレクトリにあります。

       c:\Program Files\Oracle\Inventory\logs
      
  5. 新規データベースの接続情報を構成するには、Net Configuration Assistantを実行します。

    • Windowsベースのシステムの場合は、「スタート」「プログラム」「Oracle - HOME_NAME」「Configuration and Migration Tools」「Net Configuration Assistant」を選択します。

    • LinuxベースおよびUNIXベースのシステムでは、ORACLE_HOME変数を設定して、$ORACLE_HOME/bin/netcaを実行します。

  6. 新しくクローニングされたOracleホームに新規データベースを作成するには、Oracle Database Configuration Assistantを実行します。

    • Windowsベースのシステムの場合は、「スタート」「プログラム」「Oracle - HOME_NAME」「Configuration and Migration Tools」「Database Assistant」を選択します。

    • LinuxベースおよびUNIXベースのシステムでは、$ORACLE_HOME/bin/dbcaを実行します。

ログおよびエラー・ファイルの表示

クローニング後に、$ORACLE_HOME/clone/logディレクトリに移動し、*.logおよび*.errファイルを参照することにより、クローン操作のステータスを確認できます。詳細は、「ログ・ファイルの検索および表示」を参照してください。

Oracle ClusterwareおよびOracle Real Application Clustersホームのクローニング

Oracle ClusterwareおよびOracle Real Application Clustersホームをクローニングする手順は、次のドキュメントを参照してください。