Oracle Universal InstallerおよびOpatchユーザーズ・ガイド 10gリリース2(10.2) for Microsoft Windows and UNIX Systems B19264-06 |
|
![]() 戻る |
![]() 次へ |
この章では、Oracle Universal Installer(OUI)を使用したOracleクローニングに関する情報を示します。この章の内容は次のとおりです。
クローニングは、既存のOracleインストールを別の場所にコピーし、コピーしたインストールを新しい環境で動作するように更新するプロセスです。ソースのOracleホームに適用された1回かぎりのパッチによる変更は、クローン操作の後でも残っています。コピー元とコピー先(クローニング先のホスト)のパスが同じである必要はありません。クローニングの間に、OUIはホームをインストールするために実行されたアクションを再現します。クローニングは、OUIがクローン・モードと呼ばれる特別なモードでアクションを実行することを除き、インストールとよく似ています。クローニングは、次のような状況で役立ちます。
本番、テストまたは開発インストールのコピーであるインストールを作成する場合。クローニングにより、すべてのパッチが適用された新規インストールを1つの手順で作成できます。これは、インストール、構成およびインストールへのパッチの適用を別々の手順で行うインストール・プロセスと対照的です。
インスタンスおよびそのインスタンスにホスティングされているアプリケーションを迅速にデプロイする場合。
Oracleホームを準備し、それを多くのホストにデプロイする場合。
クローニングされたインストールは、クローニング元のインストールと同じ動作をします。たとえば、クローニングされた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、*.dbf、listerner.ora、sqlnet.oraおよびtnsnames.oraをアーカイブから除外してください。次のフォルダもアーカイブしないでください。
$ORACLE_HOME/<Hostname>_<SID> $ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_<Hostname>_<SID>
除外ファイル・リストの例を次に示します。
$ cat excludedFileList.txt ./install/make.log ./cfgtoollogs/cfgfw/CfmLogger_2006-07-13_12-03-16-PM.log ./cfgtoollogs/cfgfw/oracle.server_2006-07-13_12-03-17-PM.log ./cfgtoollogs/cfgfw/oracle.network.client_2006-07-13_12-03-18-PM.log ./cfgtoollogs/cfgfw/oracle.has.common_2006-07-13_12-03-18-PM.log ./cfgtoollogs/cfgfw/oracle.assistants.server_2006-07-13_12-03-18-PM.log ./cfgtoollogs/cfgfw/OuiConfigVariables_2006-07-13_12-03-18-PM.log ./cfgtoollogs/cfgfw/oracle.sysman.console.db_2006-07-13_12-03-18-PM.log ./cfgtoollogs/cfgfw/oracle.sqlplus.isqlplus_2006-07-13_12-03-18-PM.log ./cfgtoollogs/oui/cloneActions2006-07-13_11-52-19AM.log ./cfgtoollogs/oui/silentInstall2006-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_homezcat 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およびクローニング・スクリプトが生成する次のログ・ファイルは、診断のために重要なログ・ファイルです。
<Central_Inventory>/logs/cloneActions timestamp.log: クローニングのOUI部分で行われたアクションの詳細ログが格納されます。
<Central_Inventory>/logs/oraInstall timestamp.err: OUIの実行中に発生したエラーに関する情報が格納されます。
<Central_Inventory>/logs/oraInstall timestamp.out: OUIにより生成されたその他のメッセージが格納されます。
$ORACLE_HOME/clone/logs/clone timestamp.log: クローニング前およびクローニング操作中に行われたアクションの詳細ログが格納されます。
$ORACLE_HOME/clone/logs/error timestamp.log: クローニング前およびクローニング操作中に発生したエラーに関する情報が格納されます。
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 10gリリース1(10.1)のOracleホームのクローニングには2つの手順があります。
クローニング元のOracleホームでクローニングを準備するには、次の手順を実行します。
ホームをクローニングするOracle Databaseのインストールが正常に終了したことを確認してください。
Windowsシステムのコンピュータの場合は、インストール・セッションに対するinstallActions
date_time
.log
ファイルを見ることで、インストールのステータスを確認できます。date_time
は、ファイルが作成された日付と時刻を表します(例: installActions2006-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_HOME環境変数を設定します。構文は、使用しているシェルによって異なる場合があります。
/ORACLE_BASE/ORACLE_HOME/OPatch> setenv ORACLE_HOME ORACLE_HOME_using_patch /ORACLE_BASE/ORACLE_HOME/OPatch> ./opatch lsinventory
アーカイブ用の任意のツールを使用して、クローニング元のOracleホームをアーカイブおよび圧縮します。詳細は、「ソース準備フェーズ」を参照してください。
Oracle Database 10gリリース1(10.1)をクローニングするには、次の手順を実行します。
zipファイルまたはアーカイブ・ファイルをクローニング先のコンピュータにコピーします。
クローニング先のコンピュータに、zipファイルまたはアーカイブ・ファイルの内容を展開します。内容を展開する方法の詳細は、「クローニング・フェーズ」を参照してください。
クローニング先のコンピュータで、次を実行します。
Windowsベース・システムの場合:
$ORACLE_HOME/oui/bin/setup.exe ORACLE_ HOME=<oracle home_location> ORACLE_HOME_NAME=<Oracle_Home_Name for the Oracle_Home being cloned> -clone -silent [-command_line_arguments]
Linuxベース・システムの場合:
$ORACLE_HOME\oui\bin\runInstaller.sh ORACLE_ HOME=<oracle home_location> ORACLE_HOME_NAME=<Oracle_Home_Name for the Oracle_Home being cloned> -clone -silent [-command_line_arguments]
上のコマンドでは、<command_line_arguments>変数を使用します。次の表で、この引数について説明します。
表7-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
注意: 複数の引数を指定するには、各引数を空白で区切ります。 |
OUIでは、cloneActionstimestamp.logファイルにクローニング・アクションを記録します。Windowsでは、通常、このログ・ファイルはc:\Program Files\Oracle\Inventory\logsファイルにあります。
Linuxベース・システムの場合、このファイルは<inventory location>/logsディレクトリにあります。セントラル・インベントリの場所を確認するには、「ログ・ファイルの検索および表示」を参照してください。
新規データベースの接続情報を構成するには、Netコンフィギュレーション・アシスタントを実行します。
Windowsシステムのコンピュータの場合は、「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Configuration Assistant」を選択します。
Linuxベースのシステムでは、ORACLE_HOME変数を設定して、$ORACLE_HOME/bin/netcaを実行します。
新しくクローニングされたOracleホームに新規データベースを作成するには、Oracleデータベース・コンフィギュレーション・アシスタントを実行します。
Windowsシステムのコンピュータの場合は、「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Database Configuration Assistant」を選択します。
Linuxベースのシステムの場合は、$ORACLE_HOME/bin/dbcaを実行します。
クローニング後に、$ORACLE_HOME/clone/logディレクトリに移動し、*.log
および*.err
ファイルを参照することにより、クローン操作のステータスを確認できます。詳細は、「ログ・ファイルの検索および表示」を参照してください。
Oracle Database 10gリリース2(10.2)のOracleホームのクローニングには2つの手順があります。
クローニング元のOracleホームでクローニングを準備するには、次の手順を実行します。
ホームをクローニングするOracle Databaseのインストールが正常に終了したことを確認してください。
Windowsシステムのコンピュータの場合は、インストール・セッションに対するinstallActions
date_time
.log
ファイルを見ることで、インストールのステータスを確認できます。date_time
は、ファイルが作成された日付と時刻を表します(例: installActions2006-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
アーカイブ用の任意のツールを使用して、クローニング元のOracleホームをアーカイブおよび圧縮します。詳細は、「ソース準備フェーズ」を参照してください。
Oracle Database 10gリリース2(10.2)をクローニングするには、次の手順を実行します。
zipファイルまたはアーカイブ・ファイルをクローニング先のコンピュータにコピーします。
クローニング先のコンピュータに、zipファイルまたはアーカイブ・ファイルの内容を展開します。内容を展開する方法の詳細は、「クローニング・フェーズ」を参照してください。
クローニング先のコンピュータで$ORACLE_HOME/clone/binディレクトリに移動し、clone.pl
を実行します。このPerlスクリプトは、様々なユーティリティおよびOUIを呼び出すことで、クローニング操作のすべての部分を自動的に実行します。このスクリプトは、OUIのクローニング機能を使用します。
注意: clone.pl スクリプトは、ソフトウェアのみをクローニングし、データベース・インスタンスはクローニングしません。 |
次のコマンドは、Windowsベース・システム用のclone.pl
スクリプトの構文を示します。
perl <Oracle_Home>
\clone\bin\clone.pl 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ベース・システム用のclone.pl
スクリプトの構文を示します。
perl <Oracle_Home>
/clone/bin/clone.pl 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>変数を使用します。次の表で、この引数について説明します。
表7-2 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
注意: 複数の引数を指定するには、各引数を空白で区切ります。 |
OUIでは、cloneActionstimestamp.logファイルにクローニング・アクションを記録します。Windowsでは、通常、このログ・ファイルはc:\Program Files\Oracle\Inventory\logsファイルにあります。
Linuxベース・システムの場合、このファイルは<inventory location>/logsディレクトリにあります。セントラル・インベントリの場所を確認するには、「ログ・ファイルの検索および表示」を参照してください。
新規データベースの接続情報を構成するには、Netコンフィギュレーション・アシスタントを実行します。
Windowsシステムのコンピュータの場合は、「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Configuration Assistant」を選択します。
Linuxベースのシステムでは、ORACLE_HOME変数を設定して、$ORACLE_HOME/bin/netcaを実行します。
新しくクローニングされたOracleホームに新規データベースを作成するには、Oracleデータベース・コンフィギュレーション・アシスタントを実行します。
Windowsシステムのコンピュータの場合は、「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Database Configuration Assistant」を選択します。
Linuxベースのシステムの場合は、$ORACLE_HOME/bin/dbcaを実行します。
クローニング後に、$ORACLE_HOME/clone/logディレクトリに移動し、*.log
および*.err
ファイルを参照することにより、クローン操作のステータスを確認できます。詳細は、「ログ・ファイルの検索および表示」を参照してください。
ここでは、Oracleクローニングを使用してOracle RAC環境を作成する方法について説明します。UNIXおよびLinuxシステム環境とWindowsシステム環境の両方について、クローニングの使用方法に関する次の手順を説明します。
ここでは、Oracleクローニングを使用してOracle RAC環境を作成する方法に関する次の手順について説明します。
UNIXおよびLinuxシステムでOracleクラスタウェアをクローニングするには、次の手順を実行します。
共有Oracleクラスタウェア・ホームをまだ作成していない場合は、既存のノードのOracleクラスタウェア・ホームに対してtarを実行し、新しいノードにコピーします。新しいノードのコピー先Oracleクラスタウェア・ホームとしては$CRS_HOME
を使用します。共有Oracleクラスタウェア・ホームがある場合は、このステップを省略します。
新しいノードでホームをアーカイブ解除します。共有ホームの場合は、ノードで1回のみホームをアーカイブ解除します。
共有Oracleクラスタウェア・ホームがない場合は、新しいノードで、$ORACLE_HOME/clone/bin
ディレクトリに移動し、次のコマンドを実行します。ここで、Oracle_home_name
はOracleホームの名前、new_node
は新しいノードの名前、new_node-priv
は新しいノードのプライベート相互接続プロトコル・アドレス、new_node-vip
は新しいノードの仮想相互接続プロトコル・アドレス、central_inventory_location
はOracleセントラル・インベントリの場所です。
perl clone.pl ORACLE_HOME=<$CRS_HOME> ORACLE_HOME_NAME=Oracle_home_name '-On_ storageTypeVDSK=2' '-On_storageTypeOCR=2' '-O"sl_tableList={new_node:new_ node-priv:new_node-vip}"' '-O-noConfig' '-O"INVENTORY_LOCATION=central_inventory_location"'
共有Oracleクラスタウェア・ホームがある場合は、このステップのコマンド例に-cfs
オプションを追加して、クラスタ・ファイル・システムに対する完全なパスの場所を指定します。冗長記憶域の場合は、n_storageTypeOCRおよびn_storageTypeVDSKに2を設定してください。非冗長記憶域の場合は、この値を1に設定してください。その場合は、ミラーの場所も指定する必要があります。
新しいノードで、セントラルOracleインベントリを含むディレクトリに移動します。orainstRoot.sh
スクリプトを実行して、セントラル・インベントリの場所に関する情報を/etc/oraInst.loc
ファイルに抽出します。新しいノードで、$CRS_HOMEディレクトリに移動し、./root.shを実行して、新しいノードでOracleクラスタウェアを開始します。
$CRS_HOME/opmn/conf
ディレクトリから次のコマンドを実行して、次のステップで使用するリモート・ポートを判別します。
cat ons.config | grep remoteport
新しいノードで、$CRS_HOME/bin
ディレクトリから次を実行します。ここで、racgons
はOracle RAC通知サービス・ユーティリティ、new_node
は新しいノードの名前、remote_port
は前のステップの出力からの値です。
./racgons add_config new_node:<Remote_Port>
次のコマンドを実行して、相互接続情報を取得します。次の手順でこの情報を使用できます。
$CRS_HOME/bin/oifcfg iflist –p
oifcfg
コマンドを次のように実行します。
oifcfg setif -global <interface_name>/<subnet>:public <inteface_ name>/<subnet>:cluster_interconnect [<interface_name>/<subnet>:public <inteface_name>/<subnet>:cluster_interconnect .......]
注意: Oracleクラスタウェアのクローニングは、サイレント・モードでのみ実行できます。 |
UNIXおよびLinuxシステムでRACソフトウェアを使用してOracleデータベースをクローニングするには、次の手順を実行します。
共有Oracleデータベース・ホームをまだ作成していない場合は、既存のノードのOracle RACホームをtarでアーカイブし、新しいノードにコピーします。新しいノードのコピー先Oracle RACホームの場所は、$ORACLE_HOME
であるものとします。すでに存在する場合は、このステップを省略します。
新しいノードでホームをアーカイブ解除します。共有ホームの場合は、ノードで1回のみホームをアーカイブ解除します。
新しいノードで、$ORACLE_HOME/clone/bin
ディレクトリに移動し、次のコマンドを実行します。ここで、new_node2
およびnew_node3
は新しいノードの名前、Oracle_home_name
はOracleホームの名前です。
perl clone.pl ORACLE_HOME=<Path to the Oracle_Home being cloned> ORACLE_HOME _NAME=<Oracle_Home_Name for the Oracle_Home being cloned> '-O"CLUSTER_ NODES={new_node_2,new_node_3}"' '-O"LOCAL_NODE=new_node_2"'
共有Oracleデータベース・ホームがある場合は、このステップのコマンド例に-cfs
オプションを追加して、クラスタ・ファイル・システムに対する完全なパスの場所を指定します。
注意: LOCAL_NODE には、clone コマンドを実行するノードを設定してください。 |
新しいノードで、$ORACLE_HOME
ディレクトリに移動し、次のコマンドを実行します。
./root.sh
新しいノードで、Netコンフィギュレーション・アシスタント(NETCA)を実行してリスナーを追加します。
クローニングしたノードでデータベース・コンフィギュレーション・アシスタント(DBCA)を実行して、新しいインスタンスを追加します。
ここでは、Oracleクローニングを使用してOracle RAC環境を作成する方法に関する次の手順について説明します。
WindowsシステムのコンピュータでOracleクラスタウェアをクローニングするには、次の手順を実行します。
共有Oracleクラスタウェア・ホームをまだ作成していない場合は、既存のノードのOracleクラスタウェア・ホームをzipで圧縮し、新しいノードにコピーします。新しいノードの、既存ノードに存在するOracleクラスタウェア・ホームと同等のディレクトリ構造で、ホームを圧縮解除します。たとえば、新しいノードのコピー先Oracleクラスタウェア・ホームの場所は、%CRS_HOME%
であるものとします。共有Oracleクラスタウェア・ホームがある場合は、このステップを省略します。
共有Oracleクラスタウェア・ホームがない場合は、新しいノードで、$ORACLE_HOME/clone/bin
ディレクトリに移動し、次のコマンドを実行します。ここで、Oracle_home_name
はOracleホームの名前、new_node
は新しいノードの名前、new_node-priv
は新しいノードのプライベート相互接続プロトコル・アドレス、new_node-vip
は新しいノードの仮想相互接続プロトコル・アドレス、central_inventory_location
はOracleセントラル・インベントリの場所です。
perl clone.pl ORACLE_HOME=<CRS_HOME> ORACLE_HOME_NAME=<CRS_HOME_NAME> '-On_storageTypeVDSK=2' '-On_ storageTypeOCR=2' '-O"sl_tableList={node2:node2-priv:node2-vip, node3:node3-priv:node3-vip}"' '-O"ret_ PrivIntrList=<private interconnect list>"' '-O"sl_OHPartitionsAndSpace_v alueFromDlg={partition and space information}"' '-O-noConfig'
共有Oracleクラスタウェア・ホームがある場合は、このステップのコマンド例に-cfs
オプションを追加して、クラスタ・ファイル・システムに対する完全なパスの場所を指定します。冗長記憶域の場合は、n_storageTypeOCRおよびn_storageTypeVDSKに2を設定してください。非冗長記憶域の場合は、この値を1に設定してください。その場合は、ミラーの場所も指定する必要があります。他のノードで、引数PERFORM_PARTITION_TASKS=FALSEを追加して、同じコマンドを実行します。
perl clone.pl ORACLE_HOME=<CRS_HOME> ORACLE_HOME_NAME=<CRS_HOME_NAME> '-On_ storageTypeVDSK=2' '-On_storageTypeOCR=2' '-O"sl_ tableList={node2:node2-priv:node2-vip, node3:node3-priv:node3-vip}"' '-O"ret_ PrivIntrList=<private interconnect list>"' '-O"sl_OHPartitionsAndSpace_ valueFromDlg={partition and space information}"' '-O-noConfig' '-OPERFORM_ PARTITION_TASKS=FALSE'
既存のノードの%CRS_HOME%\cfgtoollogs
ディレクトリで、次のコマンドを実行します。
<CRS_HOME>\cfgtoollogs\cfgToolAllCommands
これにより、仮想プロトコル・コンフィギュレーション・アシスタント(VIPCA)、通知サービス・ユーティリティ(racgons
)、クラスタウェア・セットアップ(crssetup)およびoifcfgがインスタンス化されます。
注意: Oracleクラスタウェアのクローニングは、サイレント・モードでのみ実行できます。 |
WindowsシステムのコンピュータでRACソフトウェアを使用してOracleデータベースをクローニングするには、次の手順を実行します。
共有Oracleデータベース・ホームをまだ作成していない場合は、既存ノードのOracle RACのOracleデータベース・ホームをzipで圧縮し、新しいノードにコピーします。新しいノードで、既存ノードでOracle RACのOracleデータベース・ホームが存在していたのと同じディレクトリに、Oracle RACのOracleデータベース・ホームを圧縮解除します。たとえば、新しいノードのコピー先Oracle RACホームの場所は、%ORACLE_HOME%
であるものとします。共有Oracleデータベース・ホームがある場合は、このステップを省略します。
新しいノードで、%ORACLE_HOME%\clone\bin
ディレクトリに移動し、次のコマンドを実行します。ここで、Oracle_Home
はOracleデータベース・ホーム、Oracle_Home_Name
はOracleデータベース・ホームの名前、existing_node
は既存のノードの名前、new_node
は新しいノードの名前です。
perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_HOME_NAME=Oracle_Home_Name '-O"CLUSTER_NODES={existing_node,new_node}"' '-OLOCAL_NODE=new_node' '-O-noConfig'
Oracle RACの共有Oracleデータベース・ホームがある場合は、このステップのコマンド例に-O-cfs
オプションを追加して、クラスタ・ファイル・システムに対する完全なパスの場所を指定します。すべてのノードに対してこのステップを繰り返します。
新しいノードで、NETCAを実行してリスナーを追加します。
クローニングしたノードでDBCAを実行して、新しいノードにデータベース・インスタンスを追加します。
ここでは、Oracleクローニングを使用して既存のOracle RAC環境にノードを追加する方法について説明します。UNIXおよびLinuxシステム環境とWindowsシステム環境の両方について、クローニングの使用方法に関する次の手順を説明します。
ここで説明する手順では、ノードとインスタンスを追加するOracle RAC環境が正常にインストールおよび構成されているものとします。UNIXまたはLinuxシステムのOracle RAC環境にクローニングを使用してノードを追加するには、Oracleクラスタウェア構成を拡張し、RACを使用するOracleデータベース・ソフトウェアを拡張した後、次の手順で説明するようにOracleアシスタントを実行して、リスナーとインスタンスを追加します。
UNIXおよびLinuxシステムでOracleクラスタウェアをクローニングするには、次の手順を実行します。
共有Oracleクラスタウェア・ホームをまだ作成していない場合は、既存のノードのOracleクラスタウェア・ホームに対してtarを実行し、新しいノードにコピーします。新しいノードのコピー先Oracleクラスタウェア・ホームとしては$CRS_HOME
を使用します。共有Oracleクラスタウェア・ホームがある場合は、このステップを省略します。
共有Oracleクラスタウェア・ホームがない場合は、新しいノードで、$ORACLE_HOME/clone/bin
ディレクトリに移動し、次のコマンドを実行します。ここで、Oracle_home_name
はOracleホームの名前、new_node
は新しいノードの名前、new_node-priv
は新しいノードのプライベート相互接続プロトコル・アドレス、new_node-vip
は新しいノードの仮想相互接続プロトコル・アドレス、central_inventory_location
はOracleセントラル・インベントリの場所です。
perl clone.pl ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=Oracle_home_name '-O"sl_tableList={new_node:new_node-priv:new_node-vip}"' '-O-noConfig' '-O"INVENTORY_LOCATION=central_inventory_location"'
共有Oracleクラスタウェア・ホームがある場合は、このステップのコマンド例に-cfs
オプションを追加して、クラスタ・ファイル・システムに対する完全なパスの場所を指定します。
注意: sl_tableList 変数に対してのみ値を指定します。Perlスクリプトのclone.pl は、他のすべての変数の設定を、圧縮されているOracleクラスタウェア・ホームから取得します。ただし、これが行われるのは、拡張されているクラスタの既存ノードが圧縮されたホームの基になっている場合のみです。
他のOracle RAC環境をクローニング・ソースとして使用する場合、つまり拡張しているもの以外のクラスタのノードからクローニングする場合は、すべての引数の値を指定する必要があります。これには、Oracle Cluster Registryおよび投票ディスクの場所の引数に対する値が含まれます。これを行う必要があるのは、 |
新しいノードで、セントラルOracleインベントリを含むディレクトリに移動します。orainstRoot.sh
スクリプトを実行して、セントラル・インベントリの場所に関する情報を/etc/oraInst.loc
ファイルに抽出します。
既存のノードで次のコマンドを実行します。ここで、new_node
は新しいノードの名前、new_node-priv
は新しいノードのプライベート相互接続プロトコル・アドレス、new_node-vip
は新しいノードの仮想相互接続プロトコル・アドレスです。
$ORACLE_HOME/oui/bin/addNode.sh –silent "CLUSTER_NEW_NODES={new_node}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={new_node-priv}" "CLUSTER_NEW_VIRTUAL_ HOSTNAMES={new_node-vip}" –noCopy
注意: clone.pl スクリプトは新しいノードですでに実行されているので、このステップでは、ノードでのインベントリの更新と、ローカル・ノードでのスクリプトのインスタンス化のみを行います。 |
既存のノードで、$ORACLE_HOME/install
ディレクトリからrootaddnode.sh
スクリプトを実行します。
新しいノードで、$ORACLE_HOME
ディレクトリに移動し、./root.sh
スクリプトを実行して、新しいノードでOracleクラスタウェアを開始します。
$CRS_HOME/opmn/conf
ディレクトリから次のコマンドを実行して、次のステップで使用するリモート・ポートを判別します。
cat ons.config
既存ノードの$CRS_HOME/bin
ディレクトリから、次のコマンドを実行します。ここで、racgons
はOracle RAC通知サービス・ユーティリティ、new_node
は新しいノードの名前、remote_port
は前のステップの出力からの値です。
./racgons add_config new_node:remote_port
UNIXおよびLinuxシステムでRACソフトウェアを使用してOracleデータベースをクローニングするには、次の手順を実行します。
共有Oracleデータベース・ホームをまだ作成していない場合は、既存のノードのOracle RACホームをtarでアーカイブし、新しいノードにコピーします。新しいノードのコピー先Oracle RACホームの場所は、$ORACLE_HOME
であるものとします。すでに存在する場合は、このステップを省略します。
共有Oracleデータベース・ホームがない場合は、新しいノードで$ORACLE_HOME/clone/bin
ディレクトリに移動し、次のコマンドを実行します。ここで、existing_node
はクローニングしているノードの名前、new_node2
およびnew_node3
は新しいノードの名前、Oracle_home_name
はOracleホームの名前です。
perl clone.pl '-O"CLUSTER_NODES={existing_node,new_node2,new_node3}"' '-O"LOCAL_NODE=new_node2"' ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=Oracle_ home_name '-O-noConfig'
共有Oracleデータベース・ホームがある場合は、このステップのコマンド例に-cfs
オプションを追加して、クラスタ・ファイル・システムに対する完全なパスの場所を指定します。
既存のノードの$ORACLE_HOME/oui/bin
ディレクトリから、次のコマンドを実行します。ここで、existing_node
はクローニングしている元のノードの名前、new_node2
およびnew_node3
は新しいノードの名前です。
./runInstaller –updateNodeList ORACLE_HOME=$ORACLE_HOME 'CLUSTER_ NODES={existing_node,new_node2,new_node3}"
新しいノードで、$ORACLE_HOME
ディレクトリに移動し、次のコマンドを実行します。
./root.sh
新しいノードで、Netコンフィギュレーション・アシスタント(NETCA)を実行してリスナーを追加します。
クローニングしたノードでデータベース・コンフィギュレーション・アシスタント(DBCA)を実行して、新しいインスタンスを追加します。
ここで説明する手順では、ノードとインスタンスを追加するOracle RAC環境が正常にインストールおよび構成されているものとします。WindowsシステムのOracle RAC環境にクローニングを使用してノードを追加するには、Oracleクラスタウェア構成を展開し、RACを使用するOracleデータベース・ソフトウェアを展開した後、次の手順で説明するようにOracleアシスタントを実行して、リスナーとインスタンスを追加します。
WindowsシステムのコンピュータでOracleクラスタウェアをクローニングするには、次の手順を実行します。
共有Oracleクラスタウェア・ホームをまだ作成していない場合は、既存のノードのOracleクラスタウェア・ホームをzipで圧縮し、新しいノードにコピーします。新しいノードの、既存ノードに存在するOracleクラスタウェア・ホームと同等のディレクトリ構造で、ホームを圧縮解除します。たとえば、新しいノードのコピー先Oracleクラスタウェア・ホームの場所は、%CRS_HOME%
であるものとします。共有Oracleクラスタウェア・ホームがある場合は、このステップを省略します。
新しいノードで、%CRS_HOME%\clone\bin
ディレクトリに移動して、次のコマンドを実行します。ここで、CRS_HOME
はOracleクラスタウェア・ホームの場所、CRS_HOME_NAME
はOracleクラスタウェア・ホームの名前、new_node
、new_node-priv
およびnew_node-vip
は、それぞれ、新しいノードの名前、新しいノードのプライベート相互接続プロトコル・アドレスの名前、新しいノードの仮想相互接続プロトコル・アドレスの名前です。
perl clone.pl ORACLE_HOME=CRS_HOME ORACLE_HOME_NAME=CRS_HOME_NAME '-O"sl_ tableList={new_node:new_node-priv:new_node-vip}"' '-O-noConfig' '-OPERFORM_ PARTITION_TASKS=FALSE'
共有Oracleクラスタウェア・ホームがある場合は、このステップのコマンド例に-O-cfs
オプションを追加して、クラスタ・ファイル・システムに対する完全なパスの場所を指定します。
注意: sl_tableList 変数に対してのみ値を指定します。Perlスクリプトのclone.pl は、他のすべての変数の設定を、圧縮されているOracleクラスタウェア・ホームから取得します。ただし、これが行われるのは、拡張されているクラスタの既存ノードが圧縮されたホームの基になっている場合のみです。
他のOracle RAC環境をクローニング・ソースとして使用する場合、つまり拡張しているもの以外のクラスタのノードからクローニングする場合は、すべての引数の値を指定する必要があります。これには、Oracle Cluster Registry(OCR)および投票ディスクの場所の引数に対する値が含まれます。これを行う必要があるのは、 |
既存のノードで次のコマンドを実行します。ここで、new_node
は新しいノードの名前、new_node-priv
は新しいノードのプライベート相互接続プロトコル・アドレス、new_node-vip
は新しいノードの仮想相互接続プロトコル・アドレスです。
%ORACLE_HOME%\oui\bin\addNode.bat -silent "CLUSTER_NEW_NODES={new_node}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={new_node-priv}" "CLUSTER_NEW_VIRTUAL_ HOSTNAMES={new_node-vip}" -noCopy -noRemoteActions
注意: 新しいノードでclone.pl スクリプトをすでに実行しているので、このステップでは、ノードでのインベントリの更新と、ローカル・ノードでのスクリプトのインスタンス化のみを行います。 |
既存ノードの%CRS_HOME%\install
ディレクトリから、crssetup.add.bat
スクリプトを実行して、仮想プロトコル・コンフィギュレーション・アシスタント(VIPCA)とOracle RAC通知サービス・ユーティリティ(racgons
)をインスタンス化します。
WindowsシステムのコンピュータでRACソフトウェアを使用してOracleデータベースをクローニングするには、次の手順を実行します。
共有Oracleデータベース・ホームをまだ作成していない場合は、既存ノードのOracle RACのOracleデータベース・ホームをzipで圧縮し、新しいノードにコピーします。新しいノードで、既存ノードでOracle RACのOracleデータベース・ホームが存在していたのと同じディレクトリに、Oracle RACのOracleデータベース・ホームを圧縮解除します。たとえば、新しいノードのコピー先Oracle RACホームの場所は、%ORACLE_HOME%
であるものとします。共有Oracleデータベース・ホームがある場合は、このステップを省略します。
新しいノードで、%ORACLE_HOME%\clone\bin
ディレクトリに移動し、次のコマンドを実行します。ここで、Oracle_Home
はOracleデータベース・ホーム、Oracle_Home_Name
はOracleデータベース・ホームの名前、existing_node
は既存のノードの名前、new_node
は新しいノードの名前です。
perl clone.pl ORACLE_HOME=Oracle_Home ORACLE_HOME_NAME=Oracle_Home_Name '-O"CLUSTER_NODES={existing_node,new_node}"' '-OLOCAL_NODE=new_node' '-O-noConfig'
Oracle RACの共有Oracleデータベース・ホームがある場合は、このステップのコマンド例に-O-cfs
オプションを追加して、クラスタ・ファイル・システムに対する完全なパスの場所を指定します。
既存ノードのRAC_HOME\oui\bin
ディレクトリから、次のコマンドを実行します。ここで、Oracle_Home
はOracle RACを使用するOracleデータベース・ホーム、existing_node
は既存のノードの名前、new_node
は新しいノードの名前です。
setup.exe -updateNodeList ORACLE_HOME=Oracle_Home "CLUSTER_NODES={existing_ node,new_node" LOCAL_NODE=existing_node
新しいノードで、NETCAを実行してリスナーを追加します。
クローニングしたノードでDBCAを実行して、新しいノードにデータベース・インスタンスを追加します。
ここでは、UNIXおよびLinuxシステムとWindowsシステムに対するclone.pl
スクリプトの変数およびその定義に関する次の内容を説明します。
表7-3は、UNIXおよびLinuxシステムの場合にclone.pl
に対して-Oオプションで渡すことのできる変数です。
表7-3 UNIXおよびLinuxシステムの場合に-Oオプションでclone.plに渡すことのできる変数
変数 | データ型 | 説明 |
---|---|---|
|
Integer |
この変数には、ダイアログから戻ると、 |
|
Integer |
この変数には、ダイアログから戻ると、 |
|
String |
この変数には、ユーザーが入力したクラスタ名の情報が含まれます。15文字以下です。 |
|
String |
この変数は、「Oracle Cluster Registry (OCR)」ダイアログでは必要ありません。 |
|
String |
この変数は、インストールの際に指定したものと同じクラスタ構成ファイルを渡すために使用します。 node1 node1-priv node1-vip node2 node2-priv node2-vip 既存のインストールからクローニングしている場合は、 |
|
String List |
これは、Private Interconnect Enforcementテーブルからの戻り値です。この変数の値は、
次に例を示します。
|
|
String List |
この変数には、クラスタ構成情報テーブルの情報と同じ値を設定します。このファイルには、カンマで区切られた値のリストが含まれます。1番目のフィールドはパブリック・ノード名を示し、2番目のフィールドはプライベート・ノード名を示し、3番目のフィールドは仮想ホスト名を示します。4番目と5番目のフィールドはOUIによってのみ使用され、デフォルトは {"node1:node1-priv:node1-vip:N:Y","node2:node2-priv:node2-vip:N:Y"}. |
|
String |
この変数の値には、投票ディスクの場所を設定します。次に例を示します。 /oradbshare/oradata/vdisk |
|
String |
この変数の値には、第1の追加投票ディスクの場所を設定します。 /oradbshare/oradata/vdiskmirror1 |
|
String |
この変数の値には、OCRの場所を設定します。 /oradbshare/oradata/ocr |
|
String |
この変数の値には、OCRミラーの場所を設定します。 /oradbshare/oradata/ocrmirror |
|
String |
この変数の値には、第2の追加投票ディスクの場所を設定します。 /oradbshare/oradata/vdiskmirror2 |
表7-4は、Windowsシステム環境の場合にclone.pl
に対して-Oオプションで渡すことのできる変数です。
表7-4 Windowsシステムの場合に-Oオプションでclone.plに渡すことのできる変数
変数 | データ型 | 説明 |
---|---|---|
|
String List |
この変数の値は、インストール用に選択されたクラスタ・ノードの名前を現します。たとえば、 "CLUSTER_NODES = {node1}" |
|
Boolean |
レスポンス・ファイルを使用してサイレント・インストールを実行するときにのみ、この変数を設定します。有効な値は、 |
|
String |
この変数には、クローニング操作で作成しているクラスタの名前を、15文字以内で設定します。クラスタ名で使用できる文字は、小文字と大文字のアルファベット |
|
String List |
この変数には、クラスタ構成情報テーブルの情報と同じ値を設定します。このファイルには、カンマで区切られた値のリストが含まれます。1番目のフィールドはパブリック・ノード名を示し、2番目のフィールドはプライベート・ノード名を示し、3番目のフィールドは仮想ホスト名を示します。4番目と5番目のフィールドはOUIによってのみ使用され、デフォルトは {"node1:node1-priv:node1-vip:N:Y","node2:node2-priv:node2-vip:N:Y} |
|
String List |
この変数は、次の形式を使用して設定します。
たとえば、RAWデバイスにOCRと投票ディスクを構成し、データまたはソフトウェアに対してはクラスタ・ファイル・システムを使用しない場合は、 sl_OhPartitionsAndSpace_valueFromDlg = {Disk,Partition,partition size, 0,N/A,1,Disk,Partition, partition size,0,N/A,2,.....) |