A バイナリ・ファイル・スクリプトのコピーおよび貼付け

Oracle Fusion Middlewareには、Oracle Fusion Middlewareバイナリを別のシステムにコピーするために使用できるスクリプトが用意されています。

これらのスクリプトをchghostユーティリティとともに使用して、Oracle Fusion Middlewareインストールのネットワーク構成を変更したり、別のシステムに移動することができます。chghostユーティリティおよびネットワーク構成の変更手順やOracle Fusion Middleware環境の移動の詳細は、Oracle Fusion Middlewareネットワーク構成の変更を参照してください。

この付録では、Oracle Fusion Middlewareバイナリを別のシステムにコピーするために使用できるスクリプトについて説明します

バイナリ・ファイル・スクリプトのコピーおよび貼付けについて

移行スクリプトは、Oracleホームのバイナリ・ファイルを、ソース環境からコピーし、ターゲット環境に貼り付けます。

これらのスクリプトは、「Oracle Fusion Middlewareのホスト名の変更」で説明されている手順と合せて使用します。

表A-1は、Oracleホーム内のバイナリ・ファイルの移行に使用するスクリプトを示しています。

表A-1 バイナリ・ファイル・スクリプトのコピーおよび貼付け

目的: スクリプト 参照:

ソースOracleホームのバイナリ・ファイルをコピーする

(UNIX) ORACLE_HOME/oracle_common/bin/copyBinary.sh
(Windows) ORACLE_HOME\oracle_common\bin\copyBinary.cmd

copyBinaryスクリプト

コピーしたOracleホームをターゲットに適用する

(UNIX) ORACLE_HOME/oracle_common/bin/pasteBinary.sh
(Windows) ORACLE_HOME\oracle_common\bin\pasteBinary.cmd

pasteBinaryスクリプト

これらのスクリプトのヘルプを参照するには、-helpオプションを使用します。たとえば:

./pasteBinary.sh -javaHome /scratch/oracle/jdk1.8.0_40 -help

ヘルプには、UNIX版のパラメータ値が示されます。Windowsなど他のプラットフォームでは、そのプラットフォームのパラメータ値に変更してください。

ノート:

  • 一時ディレクトリに対しては、スペースを含むパスを指定しないでください。

  • Universal Uniform Naming Convention (UNC)パスは、Windowsではサポートされません。たとえば、次の例はサポートされていません。

    \\host_name\oracle\java\win64\jdk8\jre\bin\java

バイナリ・ファイル・スクリプトのコピーおよび貼付けの構文

次のトピックでは、copyBinaryスクリプトおよびpasteBinaryスクリプトの構文について説明しています。構文の後の表で、そのオプションについて説明します。

ノート:

オプションの値に空白を入れることはできません。たとえば、Windowsでは、-archiveLocオプションの値として次のような文字列を渡すことはできません。

C:\tmp\Archive Files

ただし、JavaHomeオプションの値にはスペースを含めることができます。

copyBinaryスクリプト

WebLogic Serverホームを含めて、ソースOracleホームのバイナリ・ファイルをアーカイブ・ファイルにコピーすることにより、ソースOracleホームのアーカイブ・ファイルを作成します。

copyBinaryスクリプトは、次の場所にあります。

(UNIX) ORACLE_HOME/oracle_common/bin/copyBinary.sh
(Windows) ORACLE_HOME\oracle_common\bin\copyBinary.cmd

構文は次のとおりです。

copyBinary  [-javaHome path_of_jdk]
            -sourceOracleHomeLoc ORACLE_HOME_location
            -archiveLoc archive_location 
            [-ignoreDiskWarning {true | false}]
            [-excludeFilesPattern regex1 [, regex2 ...]
            [-includeDirs dir1 [, dir2 ...]
            [-ignoreDefaultExcludes] 
            [-maxArchiveSize integer
            [-silent {true | false}]

次の例は、LinuxでOracleホームのアーカイブを作成する方法を示しています。

copyBinary.sh -javaHome /scratch/oracle/jdk1.8.0_40
              -archiveLoc /tmp/oh_copy.jar
              -sourceOracleHomeLoc /scratch/oracle/Oracle_home1 
              -includeDirs cfgtoollogs,other 
              -excludeFilesPattern /inventory/Actions/.*,/inventory/Clone/.* 
              -maxArchiveSize 4096

ノート:

スクリプトを実行するときに、対応するJavaホームを指定する必要があります。つまり、Oracleホームが64ビットの場合、64ビットのJavaホームを指定する必要があります。Oracleホームが32ビットの場合、32ビットのJavaホームを指定する必要があります。

表A-2は、copyBinaryスクリプトのオプションを説明しています。

表A-2 copyBinaryスクリプトのオプション

オプション 説明 必須またはオプション

-javaHome

Java Developer's Kitの絶対パス。

スクリプトによりオペレーティング・システムが64ビットかどうかが検出され、コマンド行でスクリプトに-d64オプションが渡されます。

オプション

-sourceOracleHomeLoc

アーカイブを作成するOracleホームの絶対パス。指定できるのはOracleホームだけです。

必須

-archiveLoc

アーカイブの場所の絶対パス。このオプションは、copyBinaryスクリプトを使用して作成するアーカイブ・ファイルの場所の指定に使用します。

アーカイブの場所は存在している必要はありません。

アーカイブの場所がOracleホーム構造内に存在しないことを確認してください。

必須

-ignoreDiskWarning

この操作で空き容量が不十分という警告を無視するかどうかを指定します。デフォルトはfalseです。

ターゲットがNFSでマウントされている場合、またはData ONTAPなどの異なるファイル・システムにある場合、このフラグを使用する必要がある場合があります。

オプション

-excludeFilesPattern

アーカイブから除外するファイルを指定します。カンマで区切ることによって、複数のファイルを指定できます。次の形式を使用します。

UNIX: -excludeFilesPattern /inventory/Actions/.*,/inventory/Clone/.* 
Windows: -excludeFilesPattern "\\inventory\\Actions\\.*,\\inventory\\Clone\\.*"

オプション

-includeDirs

Oracleホームに加えて、アーカイブに含めるディレクトリを指定します。最上位のディレクトリを指定します。サブディレクトリもそのアーカイブに含まれます。

オプション

-ignoreDefaultExcludes

このフラグは、デフォルトで、デフォルト・ファイルは除外されないことを示します。同じファイルが-excludeFilePatternsに追加されると、そのファイルは除外されます。(デフォルトでは、ログ・ファイルなど一部のファイルは除外されます。)

オプション

-maxArchiveSize

アーカイブ・ファイルの最大サイズを指定します。スクリプトが実行されるときに、jarファイルが最大サイズに達すると、プロセスが完了するまで、追加のjarファイルが作成されます。

オプション

-silent

操作をサイレントで実行するかどうかを指定します。つまり、確認のためのプロンプトは表示されません(デフォルト)。

確認のためのプロンプトを表示するように指定するには、このオプションを値falseで指定します。続行するには、yesと入力します(大/小文字は区別されません)。「yes」以外を入力すると、スクリプトが異常終了します。

オプション

pasteBinaryスクリプト

ソースのOracleホームのバイナリ・ファイルをターゲット環境に貼り付けることによって、アーカイブをターゲットの宛先に適用します。アーカイブは同一ホストに適用することも別のホストに適用することもできます。

pasteBinaryスクリプトは、次の場所にあります。

(UNIX) ORACLE_HOME/oracle_common/bin/pasteBinary.sh
(Windows) ORACLE_HOME\oracle_common\bin\pasteBinary.cmd

構文は次のとおりです。

pasteBinary [-javaHome path_of_jdk]
            -archiveLoc archive_location
            -targetOracleHomeLoc target_Oracle_Home_location
            [-targetOracleHomeName Oracle_home_name]
            [-ignoreDiskWarning {true | false}]
            [-ignoreJavaVersion {true | false}]
            [-ohAlreadyCloned {true | false}]
            [-prereqConfigLoc path_to_config_files]
            [-entryPoint entrypoint_name] 
            [-invPtrLoc Oracle_InventoryLocation]
            [-executeSysPrereqs {true | false}]
            [-silent {true | false}]

次の例は、Linux上のディレクトリ//scratch/oracle/Oracle_home_prodにアーカイブを適用する方法を示しています。

pasteBinary.sh -javaHome /scratch/oracle/jdk1.8.0_40
               -archiveLoc  /tmp/oh_copy.jar 
               -targetOracleHomeLoc /scratch/oracle/Oracle_home_prod 
               -targetOracleHomeName Oracle_home_prod

表A-3は、pasteBinaryスクリプトのオプションを説明しています。

表A-3 pasteBinaryスクリプトのオプション

オプション 説明 必須またはオプション

-javaHome

Java Developer's Kitの絶対パス。

スクリプトによりオペレーティング・システムが64ビットかどうかが検出され、コマンド行でスクリプトに-d64オプションが渡されます。

オプション

-archiveLoc

アーカイブの場所の絶対パス。このオプションは、copyBinaryスクリプトを使用して作成するアーカイブ・ファイルの場所の指定に使用します。

既存の場所である必要があります。

このオプションは、-ohAlreadyClonedオプションとは相互に排他的です。

必須

-targetOracleHomeLoc

ターゲットのOracleホームの絶対パス。

Oracleホーム・ディレクトリがその場所に存在しないこと、また存在する場合は空のディレクトリであることを確認します。それ以外の場合、このスクリプトはエラー・メッセージを返します。

-targetOracleHomeLocを別のOracleホーム内に置くことはできません。

必須

-targetOracleHomeName

Oracleホームの名前。この名前は、OracleホームをOracle Inventoryに登録するために使用します。名前に空白は使用できません。

オプション

-ohAlreadyCloned

ストレージレベルのクローニング・ツールを使用して作成された既存のOracleホームを、スクリプトにより再構成することを指定するフラグ。このフラグがtrueに設定された場合、ターゲットのOracleホームが存在している必要があり、また、ターゲットOracleホームにOracleホーム・バイナリが含まれている必要があります。

有効な値はtrueおよびfalseです。デフォルトは、falseです。

このオプションは、-archiveLocオプションを使用するときには使用できません。

オプション

-ignoreDiskWarning

この操作で空き容量が不十分という警告を無視するかどうかを指定するフラグ。デフォルトはfalseです。

ターゲットがNFSでマウントされている場合、またはData ONTAPなどの異なるファイル・システムにある場合、このフラグを使用する必要がある場合があります。

オプション

-ignoreJavaVesion

この操作でこのバージョンのJavaを無視するかどうかを指定するフラグ。デフォルトはfalseです。

オプション

-entryPoint

エントリ・ポイントの名前。

オプション

-prereqConfigLoc

前提条件構成ファイルへのパスを指定します。

オプション

-executeSysPrereqs

pasteBinary操作でOracleホームの前提条件を確認するかどうかを指定します。デフォルトでは、前提条件が確認されます。前提条件を確認しないことを指定するには、このオプションを値falseで指定します。

オプション

-invPtrLoc

UNIXおよびLinuxでは、Oracleインベントリ・ポインタへの絶対パス。このオプションは、インベントリの場所がデフォルトの場所ではない場合に使用します。これによって、操作は、Oracleインベントリ・ポインタ・ファイルで指定された中央OracleインベントリにOracleホームを登録できるようになります。

oraInst.locがデフォルトの場所にない場合は、このファイルを、ルート・ユーザーとしてデフォルトの場所に、あるいはルート・ユーザーまたは通常ユーザーとしてその他の任意の場所に作成する必要があります。次では、このファイルのコンテンツの例を示しています。

inventory_loc=/scratch/oraInventory
inst_group=dba

inventory_locとして指定されたディレクトリが存在しない場合は、操作により作成されます。

インベントリの場所への書込み権限が必要です。

AIXおよびLinuxでは、デフォルトの場所は/etc/oraInst.locです。他のUNIXプラットフォームでは、デフォルトの場所は/var/opt/oracle/oraInst.locです。

このパラメータはUNIXでのみサポートされます。Windowsでこのパラメータを指定した場合、このスクリプトはエラーを返します。

インベントリがデフォルトの場所にある場合は、オプション。それ以外の場合は、Linuxでは必須。

-silent

操作をサイレントで実行するかどうかを指定します。つまり、確認のためのプロンプトは表示されません(デフォルト)。

確認のためのプロンプトを表示するように指定するには、このオプションを値falseで指定します。続行するには、yesと入力します(大/小文字は区別されません)。「yes」以外を入力すると、スクリプトが異常終了します。

オプション

-ignoreDiskWarning

この操作で空き容量が不十分という警告を無視するかどうかを指定します。デフォルトはfalseです。

ターゲットがNFSでマウントされている場合、またはData ONTAPなどの異なるファイル・システムにある場合、このフラグを使用する必要がある場合があります。

オプション

pasteBinaryスクリプトの実行

ソース環境がホストAにあり、ターゲット環境がホストBにある場合、copyBinaryスクリプトはホストAで実行されます。ただし、ホストBでpasteBinaryスクリプトを実行している場合、前提条件と手順はシナリオに応じて異なる場合があります。

この項では、次のシナリオで実行するステップについて説明します。
  • OracleホームがホストBに存在しない場合

    java -jarオプションを使用し、次のコマンドを実行します。

    (UNIX) <JAVA_HOME>/bin/java 
    -jar <archive_file> -targetOracleHomeLoc <>[-javaHome java_home] [-silent true|false] [-invPtrLoc orainst_loc_file] [optional arguments]
    (Windows) <JAVA_HOME>\bin\java.exe 
    -jar <archive_file> -targetOracleHomeLoc <> [-javaHome java_home] [-silent true|false] [optional arguments] 
  • pasteBinaryスクリプトをホストBの既存のOracleホームから実行する場合

    ノート:

    このシナリオでは、pasteBinaryスクリプトを正常に実行するためにOracleホームが事前にインストールされている必要があります。pasteBinaryのみを目的にOracle Fusion MiddlewareをインストールしてOracleホームを作成することはしないでください。
    1. 次の(既存の)ファイルが元のOracleホームと同じ権限および同じ構造で使用可能であることを確認します。

      %ORACLE_HOME%/oracle_common/bin/pasteBinary.*
      %ORACLE_HOME%/oracle_common/modules/*
      %ORACLE_HOME%/oui/bin/*
      %ORACLE_HOME%/oui/lib/* 
      %ORACLE_HOME%/oui/modules/*
      %ORACLE_HOME%/oui/oraparam.ini
    2. 次のコマンドを実行します。

      (UNIX) ORACLE_HOME/oracle_common/bin/pasteBinary.sh
      -archiveLoc <> -targetOracleHomeLoc <> [-javaHome java_home] [-silent true|false] [-invPtrLoc orainst_loc_file] [optional arguments] 
      (Windows) ORACLE_HOME\oracle_common\bin\pasteBinary.cmd
      -archiveLoc <> -targetOracleHomeLoc <> [-javaHome java_home] [-silent true|false] [optional arguments]

ノート:

-invPtrLocパラメータはUNIXでのみサポートされます。このパラメータをWindowsで指定した場合、スクリプトはエラーを返します。

Oracle Fusion Middlewareを新規ホストに移動する方法は、「Oracle Fusion Middlewareの新しいホストへの移動」を参照してください。