A Oracle Fusion Middleware製品のインストールおよび構成後のJDKの更新
使用するマシンにJDKバージョンjdk1.8.0_121がインストールされているとします。Oracle Fusion Middleware製品をインストールおよび構成する場合、構成ウィザード(config.sh|exe
)や、OPatch、RCUなどのユーティリティはデフォルトでJDK (たとえば、jdk1.8.0_121)を指し示しています。後に、セキュリティの強化およびバグの修正が含まれる新しいバージョン、仮にjdk1.8.0_131とするJDKがOracleからリリースされることになります。12c (12.2.1.3.0)以降では、既存のJDKを新しいバージョンにアップグレード可能であり、すべての製品スタックが新しいバージョンのJDKを指し示すようにできます。
複数のバージョンのJDKを保持し、必要に応じてバージョンを切り替えることができます。
- Oracle Fusion Middleware製品をインストール後のJDKの場所の更新について
RCUまたは構成ウィザードなどのOracleホームおよびドメイン・ホームのバイナリと他のメタデータおよびユーティリティ・スクリプトは、ソフトウェアのインストール時に使用されたJDKバージョンを使用し、引き続き同じバージョンのJDKを参照します。JDKパスは、JAVA_HOMEと呼ばれる変数に格納され、ORACLE_HOME/oui
ディレクトリの.globalEnv.propertiesファイルの中央に置かれています。
Oracle Fusion Middleware製品のインストール後における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」画面で指定します。
たとえば、Oracle Fusion Middleware InfrastructureをJDKバージョン8u121でインストールしたとします。WebLogicドメインを構成アシスタントで構成する際に、構成ウィザードの「ドメイン・モードおよびJDK」画面で新しいJDKへのパスを選択できます。たとえば、
/scratch/jdk/jdk1.8.0_131
です。 -
grep
コマンド(UNIX)またはfindstr
コマンド(Windows)を使用し、手動でJDKを参照するファイルを特定して、各参照を更新します。「既存のドメイン・ホームのJDKの場所の更新」を参照してください。
ノート:
新しいバージョンのJDKをファイルをオーバーライドして既存のJDKとして同じ場所にインストールする場合、なにもする必要ありません。統合環境でOracle Identity Managerをアップグレードするときに、OPSS処理エラーが発生することがあります。次の例外は、reconfig.shコマンドを実行して、Oracle Identity Managerドメインを再構成するときに表示されます。
SEVERE [93] com.oracle.cie.domain.progress.AbstractProgressGenerator - Error occurred in
phase {OPSS Processing} execution.
java.lang.IllegalStateException: SecurityContext: Domain Name: IAMGovernanceDomain
JDBC URL: opss-audit-DBDS:jdbc:oracle:thin:@//<hostname>:<port>/<service>
JDBC URL: opss-data-source:jdbc:oracle:thin:@//<hostname>:<port>/<service>
Caused by: java.security.InvalidKeyException: Illegal key size
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039)
at javax.crypto.Cipher.implInit(Cipher.java:805)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1396)
at javax.crypto.Cipher.init(Cipher.java:1327)
-
次の場所からJava Cryptography Extension (JCE)強度無制限の管轄ポリシー・ファイルをインストールします。Java Cryptography Extension (JCE)強度無制限の管轄ポリシー・ファイル8ダウンロード。
-
local_policy.jarおよびUS_export_policy.jarファイルを
JAVA_HOME/jre/lib/security/
の場所にコピーします。ファイルがコピー先のフォルダにすでに存在する場合は、それを上書きします。
- 既存のOracleホームのJDKの場所の更新
getProperty.sh|cmd
スクリプトには、.globalEnv.propertiesファイルからJAVA_HOMEなどの変数の値が表示されます。setProperty.sh|cmd
スクリプトは、.globalEnv.propertiesファイルの新旧のJDKの場所を含むOLD_JAVA_HOMEまたはJAVA_HOMEなどの変数の値を設定するために使用されます。 - 既存のドメイン・ホームのJDKの場所の更新
jdk1.8.0_121などの現在のJDKの参照を手動で検索し、それらのインスタンスを新しい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
スクリプトは次の場所にあります。
(UNIX) ORACLE_HOME/oui/bin
(Windows) ORACLE_HOME\oui\bin
ここで、ORACLE_HOMEは、jdk1.8.0_121などのJDKの現行バージョンを使用した製品を含むディレクトリです。
既存のドメイン・ホームにおけるJDKの場所の更新
現在のJDK (たとえばjdk1.8.0_121)への参照を手動で検索し、これらのインスタンスを新しいJDKのロケーションに置き換える必要があります。
grep
コマンド(UNIX)またはfindstr
コマンド(Windows)を使用し、jdkに関係する参照を検索します。
(UNIX) DOMAIN_HOME/bin/setNMJavaHome.sh
(Windows) DOMAIN_HOME\bin\setNMJavaHome.cmd
(UNIX) DOMAIN_HOME/nodemanager/nodemanager.properties
(Windows) DOMAIN_HOME\nodemanager\nodemanager.properties
(UNIX) DOMAIN_HOME/bin/setDomainEnv.sh
(Windows) DOMAIN_HOME\bin\setDomainEnv.cmd
ノート:
-
setNMJavaHome.sh|cmd
ファイルでのノード・マネージャに対するJAVA_HOMEの値を変更した場合は、ノード・マネージャを使用して起動したOracle BIシステム・コンポーネントで、setNMJavaHome.sh|cmd
ファイルで指定した新しいJAVA_HOMEが自動的に使用されます。 -
setDomainEnv.sh|cmd
ファイルの更新時には注意してください。更新が適切でないと、ドメイン上で実行されたスケールアウトやアップグレード、ドメインの拡張などの手動の操作が元に戻される可能性があります。