Oracle Analytics Serverをインストールした後のJDKの場所の更新について

Oracleホームおよびドメイン・ホームにあるRCUや構成ウィザードなどのバイナリとその他のメタデータおよびユーティリティ・スクリプトでは、ソフトウェアのインストール時に使用されたJDKバージョンが使用され、同じバージョンのJDKが継続して参照されます。JDKパスは、JAVA_HOMEと呼ばれる変数に格納され、ORACLE_HOME/ouiディレクトリの.globalEnv.propertiesファイルの中央に置かれています。

config.sh|cmd、launch.shまたはopatchなどのユーティリティ・スクリプトはORACLE_HOMEに置かれ、これらを起動すると、.globalEnv.propertiesファイル内にあるJAVA_HOME変数を参照します。これらのスクリプトおよびユーティリティを新しいバージョンのJDKを指すようにするには、「既存のOracleホームでのJDKの場所の更新」に記載された指示に従って、.globalEnv.propertiesファイル内のJAVA_HOME変数の値を更新する必要があります。

ドメイン・ホーム・ディレクトリ内のスクリプトおよびファイルを新しいバージョンのJDKに指定するには、次のいずれかの方法に従います。
  • 構成ウィザードの実行中に、新しいJDKへのパスを「ドメイン・モードおよびJDK」画面で指定します。

    たとえば、Oracle Fusion Middleware InfrastructureをJDKバージョン8u191でインストールしたとします。構成アシスタントでWebLogicドメインを構成するときに、構成ウィザードの「ドメイン・モードおよびJDK」画面で新しいJDKのパスを選択できます。たとえば、/scratch/jdk/jdk1.8.0_xxxです。

  • grepコマンド(UNIX)またはfindstrコマンド(Windows)を使用し、手動でJDKを参照するファイルを特定して、各参照を更新します。「既存のOracleホームにおけるJDKの場所の更新」を参照してください。

ノート:

新しいバージョンのJDKをファイルをオーバーライドして既存のJDKとして同じ場所にインストールする場合、なにもする必要ありません。お薦めの方法は、特定のバージョンの場所ではなく汎用的なJDKパスの場所へのインストールです。たとえば、場所として/scratch/jdk/jdk1.8.0_xxxではなく/usr/java/latestを使用します。

重要:

ORACLE_HOME/oui/.globalEnv.propertiesファイルは、JDKディレクトリへのポインタとして一元的に使用されます。

OPatchが自己パッチ適用モードになりインベントリ破損の問題が発生するのを防ぐには、次のようにします。

  • Oracle Analytics Serverテクノロジ・スタックのORACLE_HOMEの外部に、有効なJDKディレクトリがあることを確認してください。
  • ORACLE_HOME/oracle_common/jdkは内部ツール用のJREの場所であるため、PATHにORACLE_HOME/oracle_common/jdkが使用されていないことを確認してください。

既存のOracleホームにおけるJDKの場所の更新

getProperty.sh|cmdスクリプトを使用して、.globalEnv.propertiesファイルからJAVA_HOMEなどの変数の値が表示されます。setProperty.sh|cmdスクリプトは、.globalEnv.propertiesファイルの新旧のJDKの場所を含むOLD_JAVA_HOMEまたはJAVA_HOMEなどの変数の値を設定するために使用されます。

getProperty.sh|cmdおよびsetProperty.sh|cmdスクリプトは次の場所にあります。

(Linux) ORACLE_HOME/oui/bin

(Windows) ORACLE_HOME\oui\bin

ここで、ORACLE_HOMEは、1.8.0_xxxなど、現行バージョンのJDKを使用する製品が含まれるディレクトリです。

.globalEnv.propertiesファイル内のJDKの場所を更新するには:
  1. getProperty.sh|cmdスクリプトを使用して、現在のJDKのパスをJAVA_HOME変数から表示します。たとえば:

    (Linux) ORACLE_HOME/oui/bin/getProperty.sh JAVA_HOME

    (Windows) ORACLE_HOME\oui\bin\getProperty.cmd JAVA_HOME

    echo JAVA_HOME

    JAVA_HOMEは、JDKの場所を含む.globalEnv.propertiesファイルの変数です。

  2. 現在のJDKからOLD_JAVA_HOMEなどの別の変数へのパスを.globalEnv.propertiesファイルにバックアップするには、次のコマンドを入力します。

    (Linux) ORACLE_HOME/oui/bin/setProperty.sh -name OLD_JAVA_HOME -value specify_the_path_of_current_JDK

    (Windows) ORACLE_HOME\oui\bin\setProperty.cmd -name OLD_JAVA_HOME -value specify_the_path_of_current_JDK

    このコマンドにより、OLD_JAVA_HOMEと呼ばれる新しい変数が.globalEnv.propertiesファイルに、指定した値で作成されます。
  3. .globalEnv.propertiesファイルのJAVA_HOME変数にJDKの新しい場所を設定するには、次のコマンドを入力します。

    (Linux) ORACLE_HOME/oui/bin/setProperty.sh -name JAVA_HOME -value specify_the_location_of_new_JDK

    (Windows) ORACLE_HOME\oui\bin\setProperty.cmd -name JAVA_HOME -value specify_the_location_of_new_JDK

    このコマンドを実行すると、.globalEnv.propertiesファイルのJAVA_HOME変数にjdk1.8.0_221のような新しいJDKのパスが含まれます。

既存のドメイン・ホームにおけるJDKの場所の更新

現在のJDK (たとえば1.8.0_191)への参照を手動で検索し、これらのインスタンスを新しいJDKの場所で置換する必要があります。

grepコマンドまたはfindstrコマンドを使用して、jdk関連の参照を検索できます。

次の3ファイルのJDKの場所の更新が必要になる場合があります。

(Linux) DOMAIN_HOME/bin/setNMJavaHome.sh

(Windows) DOMAIN_HOME\bin\setNMJavaHome.cmd

(Linux) DOMAIN_HOME/nodemanager/nodemanager.properties

(Windows)DOMAIN_HOME\nodemanager\nodemanager.properties

(Linux) DOMAIN_HOME/bin/setDomainEnv.sh

(Windows)DOMAIN_HOME\bin\setDomainEnv.cmd

ノート:

  • setNMJavaHome.sh|cmdファイルでノード・マネージャ用のJAVA_HOMEの値を変更する場合、ノード・マネージャを使用して起動したコンポーネントは、setNMJavaHome.sh|cmdファイルに指定した新しいJAVA_HOMEを自動的に使用します。

  • setDomainEnv.sh|cmdファイルの更新時には注意してください。更新が適切でないと、ドメイン上で実行されたスケールアウトやアップグレード、ドメインの拡張などの手動の操作が元に戻される可能性があります。

JREの更新

既存のユーティリティおよびJavaHostによって使用される内部JREを最新のJREバージョンに更新します。

Oracle Analytics Serverでは、JREがORACLE_HOME/oracle_common/jdkにインストールされます。
  1. すべてのプロセスを停止します(stop.sh)。
  2. 既存のJREディレクトリの名前をjre.oldに変更します。
    例: mv ORACLE_HOME/oracle_common/jdk/jre ORACLE_HOME/oracle_common/jdk/jre.old
  3. 更新したJDKから、更新したjreディレクトリをコピーします。

    ベスト・プラクティスは、JDKの更新に使用したのと同じバージョンを使用することです。Oracle Analyticsサーバーのインストールおよび構成後のJDKの更新を参照してください。

    例: cp -r /usr/java/latest/jre ORACLE_HOME/oracle_common/jdk

  4. すべてのプロセスを起動します(start.sh)。
  5. opatchなどの内部ユーティリティが機能することを確認します(例: opatch version)。
  6. 古いJREディレクトリORACLE_HOME/oracle_common/jdk/jre.oldを削除します。