※ 本記事は、Stephen Feltsによる”Upgrade WebLogic Server to use 23.x JDBC Driver“を翻訳したものです。
2024年5月9日
Oracle 23.xデータベース・ドライバが使用可能であり、WebLogic Server (WLS)で動作します。
WLS 12.2.1.4.0および14.1.1.0.0には、ドライバjarファイルの19.3バージョンが付属しています。新しい機能を使用するには、既存のインストールをアップグレードして、23.xドライバjarファイルを使用できます。WLS 12.2.1.4.0はJDK8で実行されるため、JDK8バージョンをダウンロードする必要があります。WLS 14.1.1.0.0はJDK8またはJDK11で実行されるため、JDK8ドライバとJDK11ドライバのどちらを使用するかを決定する必要があります。JDK11で実行している場合は、Java SE 9で導入された最新のJDBC 4.3 APIを取得するために、JDK11ドライバを使用することをお薦めします。
Oracle 23.xデータベース・ドライバ・ファイルのダウンロード
ドライバjarファイルは、https://www.oracle.com/database/technologies/appdev/JDBC-downloads.html からダウンロードできます。このページの23cセクションに移動すると、最新バージョンが表示されます。実行するJDKのバージョンに応じて、「Zipped JDBC driver (ojdbc11.jar) and Companion Jars」または「Zipped JDBC driver (ojdbc8.jar) and Companion Jars」のいずれかをダウンロードします。
この項では、12.2.1.4.0または14.1.1.0.0リリースのWebLogic ServerでOracle 23.xドライバを使用するために必要なファイルを示します。
ノート: これらのjarファイルは、CLASSPATHの先頭にあるWebLogic Serverの実行に使用されるCLASSPATHに追加する必要があります。これらは、すべての19.x Oracleデータベース・クライアントjarファイルの前に配置する必要があります。
| ファイル |
説明 |
| ojdbc8.jar or ojdbc11.jar | Oracle JDBC Driver |
| simplefan.jar |
Fast Application Notification |
| ucp.jar or ucp11.jar |
Universal Connection Pool |
| ons.jar |
Oracle Network Server client |
| orai18n.jar |
Internationalization support |
| oraclepki.jar |
Oracle Wallet support |
| xdb.jar |
SQLXML support |
| xmlparserv2_sans_jaxp_services.jar | SQLXML support |
ノート: 以前のドキュメントでは、AQJMSで実行するためのAQJMS.jarのインストール、およびXML処理のためのorai18n-collation.jarおよびorai18n-mapping.jarのインストールが説明されていました。これらのjarファイルは、JDBCドライバおよびUCPダウンロードでは使用できません。これらのjarファイルのいずれかが必要な場合は、jarファイルを取得してCLASSPATHに追加するために、Oracle Databaseクライアント、Administratorパッケージ・クライアント・インストールまたはフル・データベース・インストールをインストールする必要があります。
WebLogic ServerのCLASSPATHまたはPRE_CLASSPATHを更新
Oracle 23.x JDBCドライバを使用するには、WebLogic Server環境でCLASSPATHを更新する必要があります。前述の必須Oracle 23.xドライバ・ファイルで指定されている必要なファイルの先頭にCLASSPATHを追加します(19.xドライバjarファイルの前)。startWebLogic.shを使用している場合は、PRE_CLASSPATHも設定する必要があります。次のコード・サンプルは、WebLogic環境のCLASSPATHを更新する単純なシェル・スクリプトの概要を示しています。ORACLE23が、ファイルがアンパッケージされたディレクトリ(またはスクリプトにハードコード)に適切に設定されていることを確認してください。
#!/bin/sh
# source this file in to add the new 23.x jar files at the beginning of the CLASSPATH
case “`uname`” in
*CYGWIN*)
SEP=”;”
;;
Windows_NT)
SEP=”;”
;;
*)
SEP=”:”
;;
esac
dir=${ORACLE23:?}
ojdbc=ojdbc8.jar
ucp=ucp.jar
#uncomment the next two lines to use JDK11 jars
#ojdbc=ojdbc11.jar
#ucp=ucp11.jar
CLASSPATH=”${dir}/${ojdbc}${SEP}$CLASSPATH”
CLASSPATH=”${dir}/${ucp}${SEP}$CLASSPATH”
CLASSPATH=”${dir}/simplefan.jar${SEP}$CLASSPATH”
CLASSPATH=”${dir}/ons.jar${SEP}$CLASSPATH”
CLASSPATH=”${dir}/orai18n.jar${SEP}$CLASSPATH”
CLASSPATH=”${dir}/oraclepki.jar ${SEP}$CLASSPATH”
CLASSPATH=”${dir}/xdb.jar${SEP}$CLASSPATH”
CLASSPATH=”${dir}/xmlparserv2_sans_jaxp_services.jar${SEP}$CLASSPATH”
たとえば、このスクリプトをsetdb23_jars.shという名前の環境に保存し、次を実行します
. ./setdb23_jars.sh
export PRE_CLASSPATH=”$CLASSPATH”
WLSのCLASSPATHにdms.jarを入れないでください。クラスパスにdms.jarを指定すると、Connection.setClientInfo()の動作が変更され、Oracle Fusion Middleware環境でのみ使用されます。また、WLSクラスパス内の他のjarと競合するため、xmlparserv2.jarを使用しないでください。
デバッグに固有のojdbc*g.jarファイルがなくなり、診断用のojdbc*dms.jarがなくなりました(診断動作は、クラスパスにdms.jarを指定することで有効になります)。
上位互換性
ドライバの動作変更
ドライバの変更は、https://download.oracle.com/otn-pub/otn_software/jdbc/23c/JDBC-UCP-ReleaseNotes-23c.txt で説明されています。次に、WLSで監視される変更を示します。
- 23.xより前にVARNUM形式で送信されていたブール型ですが、23.xからブール型として送信されます。
ただし、サーバー側のPLSQLおよびOCIでは、以前に送信されたとおりに送信されることを想定しています。
PLSQLおよびthinドライバを以前のように連携させるには、新しい接続プロパティ oracle.jdbc.sendBooleanInPLSQL があります。
このような条件ではfalseとして設定する必要があります。これにより、適切なバインダーを選択できます。 - 23c以降では、UCPデータソースはWLS XA (ただしLLRではない)トランザクションに参加できます。
-
ドライバのデバッグは完全にオーバーホールされます。完全デバッグを有効にするには、-Doracle.jdbc.diagnostic.enableLogging=true -Doracle.jdbc.diagnostic.enableSensitiveDiagnostics=true -Doracle.jdbc.diagnostic.permitSensitiveDiagnostics=true -Doracle.ucp.diagnostic.enableLogging=true -Djava.util.logging.config.file=./logging.config を使用します
次に、./logging.config を作成します:
handlers = java.util.logging.ConsoleHandler oracle.jdbc.level = FINEST java.util.logging.ConsoleHandler.level = FINEST java.util.logging.ConsoleHandler.formatter = oracle.jdbc.diagnostics.OracleSimpleFormatter
あるいは
oracle.jdbc.handlers = java.util.logging.FileHandler oracle.jdbc.level = FINEST java.util.logging.FileHandler.level = FINEST java.util.logging.FileHandler.pattern = %h/jdbc_incident_%u.log java.util.logging.FileHandler.limit = 50000 java.util.logging.FileHandler.count = 10 java.util.logging.FileHandler.formatter = oracle.jdbc.diagnostics.OracleSimpleFormatter
startWebLogic.shを使用している場合は、これらのシステム・プロパティをJAVA_OPTIONSに追加できます。
上位互換性バグ
これらはWLS 14.1.2.0.0で修正されます。
- Bug 36066918 – Deploying an AGL datasource that is configured with the XA replay driver and auto-ONS fails with
java.lang.AbstractMethodError.
