WLS(WebLogic)からAutonomous Database(ATP/ADW)に接続するデータソース(コネクションプール)を作成してみる。
※(2019/7/4追記) 本記事は単体のWLS(WebLogic)からAutonomous Databaseに接続するデータソースを作成する記事として修正しました。
- 1. JDBC Driver 19.3 Full版のダウンロード
- 2. JDBC Driver 19.3 Full版をWLSのOSに格納&展開
- 3. Autonomous DatabaseのWalletファイルをダウンロードして展開
- 4. WLS(WebLogic)起動シェルの編集(CLASSPATHの指定)
- 5. WLS(WebLogic)の管理コンソールからデータソースを作成
- 6. まとめ
- 7. 参考ドキュメント(※2019/06/17追記)
WLS(WebLogic)からAutonomous Databaseに接続するデータソース(コネクションプール)を作成してみるやで彡(゚)(゚)
ポイントは幾つかあって
- (推奨)最新バージョンの JDBC Driver(Full版)をWLSのOS上に格納(※上書きはしない)して、各種jarのCLASSPATHを通す。
- (必須)Autonomous Database のウォレットをWLSのOS上に格納する。
- (必須)ウォレットの格納場所を何かしらの手段で指定する。 ※今回はTNS_ADMINをJDBC URLに指定
と云ったところです。
1. JDBC Driver 19.3 Full版のダウンロード
2019年6月15日現在、Oracle Database JDBC Driver の最新バージョンは 19c(19.3)ですが、
随時更新されるので必ず最新バージョン有無を確認した上で使用して下さい。
Oracle Database 19c (19.3) JDBC Driver & UCP Downloads
https://www.oracle.com/technetwork/database/application-development/jdbc/downloads/jdbc-ucp-19c-5460552.html
幾つか種類が有りますが、WLS12.2.1.3のJDK8に対応した「ojdbc8-full.tar.gz」をダウンロードします。
2. JDBC Driver 19.3 Full版をWLSのOSに格納&展開
ダウンロードした ojdbc8-full.tar.gz を WLS(WebLogic) の OS に格納して展開します。
WLS(WebLogic)の起動ユーザーからアクセス可能なディレクトリ/owner/group/permissionとします。
今回はディレクトリ/u01/app/oracle/tools/home/oracle/work に JDBC Driver を展開します。
su - oracle /u01/app/oracle/tools/home/oracle mkdir work cd work cp -p cp -p /tmp/ojdbc8-full.tar.gz ./ tar xvzf ./ojdbc8-full.tar.gz
/u01/app/oracle/tools/home/oracle/work/ojdbc8-full配下に各種jarファイルが展開されます。
$ pwd /u01/app/oracle/tools/home/oracle/work/ojdbc8-full $ ls -la total 8644 drwxr-x---. 2 oracle oracle 4096 Apr 29 22:16 . drwxr-x---. 3 oracle oracle 4096 Jun 15 02:39 .. -r--r-----. 1 oracle oracle 4210517 Apr 24 21:07 ojdbc8.jar -r-xr-x---. 1 oracle oracle 11596 Apr 24 21:07 ojdbc.policy -r--r-----. 1 oracle oracle 144681 Apr 24 21:07 ons.jar -r--r-----. 1 oracle oracle 306004 Apr 24 21:07 oraclepki.jar -r--r-----. 1 oracle oracle 1661488 Apr 24 21:07 orai18n.jar -r--r-----. 1 oracle oracle 205154 Apr 24 21:07 osdt_cert.jar -r--r-----. 1 oracle oracle 306854 Apr 24 21:07 osdt_core.jar -rw-r-----. 1 oracle oracle 2592 Apr 29 22:16 README.txt -r-xr-x---. 1 oracle oracle 29205 Apr 24 21:07 simplefan.jar -r--r-----. 1 oracle oracle 1680074 Apr 24 21:07 ucp.jar -r--r-----. 1 oracle oracle 262664 Apr 24 21:07 xdb.jar
3. Autonomous DatabaseのWalletファイルをダウンロードして展開
Autonomous DatabaseのWalletファイルについては下記らへんをご参照彡(゚)(゚)
クライアント資格証明(ウォレット)のダウンロード
https://docs.oracle.com/cd/E83857_01/paas/atp-cloud/atpug/connect-download-wallet.html#GUID-B06202D2-0597-41AA-9481-3B174F75D4B1Python (cx_Oracle) から2つ目のAutonomous Database (ADWやATP)に接続してみる
https://qiita.com/mikika/items/5d157c2fcdd80d560bd4TableauをOracle Autonomous に繋げてみた
https://qiita.com/daisuke_high_185/items/fca12ae6fbc4c526f821
ダウンロードした Walletを を WLS の OS に格納して展開します。
やはりWLSの起動ユーザーからアクセス可能なディレクトリ/各種権限とします。
今回は /u01/app/oracle/tools/home/oracle/work/wallet に展開します。
su - oracle cd /u01/app/oracle/tools/home/oracle/work mkdir wallet cd wallet cp -p /tmp/Wallet_DB201906031608.zip ./ unzip Wallet_DB201906031608.zip
/u01/app/oracle/tools/home/oracle/work/wallet配下に各種ファイルが展開されます。
$ pwd /u01/app/oracle/tools/home/oracle/work/wallet $ ls -la total 68 drwxr-x---. 2 oracle oracle 4096 Jun 15 02:54 . drwxr-x---. 4 oracle oracle 4096 Jun 15 02:53 .. -rw-r-----. 1 oracle oracle 6661 Jun 15 02:53 cwallet.sso -rw-r-----. 1 oracle oracle 6616 Jun 15 02:53 ewallet.p12 -rw-r-----. 1 oracle oracle 3242 Jun 15 02:53 keystore.jks -rw-r-----. 1 oracle oracle 87 Jun 15 02:53 ojdbc.properties -rw-r-----. 1 oracle oracle 114 Jun 15 02:53 sqlnet.ora -rw-r-----. 1 oracle oracle 5638 Jun 15 02:53 tnsnames.ora -rw-r-----. 1 oracle oracle 3336 Jun 15 02:53 truststore.jks -rw-rw-r--. 1 oracle oracle 19912 Jun 15 02:53 Wallet_DB201906031608.zip $
4. WLS(WebLogic)起動シェルの編集(CLASSPATHの指定)
WLS(WebLogic)の起動シェルを編集して、JDBC Driverの各種jarをCLASSPATHに通します。
/<任意のディレクトリ>/domains/<ドメイン名>/bin配下のsetDomainEnv.shを編集します。
setDomainEnv.shの下記部分に……彡(゚)(゚)
: # ADD EXTENSIONS TO CLASSPATHS if [ "${EXT_PRE_CLASSPATH}" != "" ] ; then if [ "${PRE_CLASSPATH}" != "" ] ; then PRE_CLASSPATH="${EXT_PRE_CLASSPATH}${CLASSPATHSEP}${PRE_CLASSPATH}" export PRE_CLASSPATH else :
下記(EXT_PRE_CLASSPATH)を追記して JDBC Driver の 各種jar を指定します。
: # ADD EXTENSIONS TO CLASSPATHS EXT_PRE_CLASSPATH="/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/ojdbc8.jar:/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/ucp.jar:/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/oraclepki.jar:/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/osdt_core.jar:/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/osdt_cert.jar:"; export EXT_PRE_CLASSPATH if [ "${EXT_PRE_CLASSPATH}" != "" ] ; then if [ "${PRE_CLASSPATH}" != "" ] ; then PRE_CLASSPATH="${EXT_PRE_CLASSPATH}${CLASSPATHSEP}${PRE_CLASSPATH}" export PRE_CLASSPATH else :
WLSを停止/起動してjavaプロセスのCLASSPATHをjinfoコマンドで確認。上手く行ってますやね彡(^)(^)
jinfo 5748 | grep -i java.class.path java.class.path = /u01/app/oracle/tools/home/oracle/work/ojdbc8-full/ojdbc8.jar:/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/ucp.jar:/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/oraclepki.jar:/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/osdt_core.jar:/u01/app/oracle/tools/home/oracle/work/ojdbc8-full/osdt_cert.jar:/u01/app/oracle/middleware/oracle_common/modules/features/com.oracle.db.jdbc7-dms.jar:/u01/jdk/lib/tools.jar:/u01/app/oracle/middleware/wlserver/server/lib/weblogic.jar:/u01/app/oracle/middleware/wlserver/../oracle_common/modules/thirdparty/ant-contrib-1.0b3.jar:/u01/app/oracle/middleware/wlserver/modules/features/oracle.wls.common.nodemanager.jar:/u01/app/oracle/middleware/oracle_common/modules/oracle.jps/jps-manifest.jar:/u01/app/oracle/middleware/oracle_common/modules/internal/features/jrf_wlsFmw_oracle.jrf.wls.classpath.jar:/u01/app/oracle/middleware/wlserver/common/derby/lib/derbyclient.jar:/u01/app/oracle/middleware/wlserver/common/derby/lib/derby.jar:/u01/jdk/lib/tools.jar:/u01/app/oracle/middleware/oracle_common/modules/oracle.jps/jps-manifest.jar
5. WLS(WebLogic)の管理コンソールからデータソースを作成
WebLogic管理コンソールにログインします。
左上の「ロックして編集」をクリックして……
「GridLink for RACデータソースの構成」のリンクをクリック
「新規」⇒「GridLinkデータ・ソース」
「名前」⇒任意の文字列、「スコープ」⇒グローバル、「JNDI名」⇒任意の文字列、「データベース・ドライバ」⇒Oracles Driver(thin) for GridLink Connections;
「1フェーズ・コミット」以外のチェックは全て無し
「完全なJDBC URLの入力」をチェック
「完全なJDBC URL」はjdbc:oracle:thin:@<tnsnames.oraの接続文字列>?TNS_ADMIN=<Autonomous DatabaseのWalletを配置したディレクトリ>を指定します。今回はATPのTPサービスに接続します。
jdbc:oracle:thin:@db201906031608_tp?TNS_ADMIN=/u01/app/oracle/tools/home/oracle/work/wallet
「データベース・ユーザー名」はAutonomous Databaseのユーザー名、「パスワード」はAutonomous Databaseユーザーのパスワード、「プロトコル」はTCP、oracle.jdbc.DRCPConnectionClassは無し
次画面で「すべてのリスナーのテスト」を実行すると、接続テストが成功。やったぜ。彡(^)(^)
今回はFAN/ONS関連の設定は無し。
データソースをデプロイするWLSクラスタを選択して、終了
「変更のアクティブ化」を押して完了です。
6. まとめ
基本は以前の記事と同様や!彡(゚)(゚)
Autonomous DB(ADW/ATP) に Java の JDBC Thin Driver で接続してみる。(OCI, Oracle Cloud Infrastructure) https://qiita.com/ora_gonsuke777/items/91ec0e15848a78ede385
WLS(WebLogic)やAutonomous Databaseをどんどん活用してやで彡(^)(^)
7. 参考ドキュメント(※2019/06/17追記)
JDBC ThinドライバでのJDBC URL接続文字列の使用
https://docs.oracle.com/cd/E83857_01/paas/atp-cloud/atpug/connect-jdbc-thin-wallet.html#GUID-F1D7452F-5E67-4418-B16B-B6A7B92F26A4
JDBC 18.3を使用したOracle Autonomous DatabaseとJavaの接続性(Oracle ATPまたはOracle ADW)
https://www.oracle.com/technetwork/jp/database/application-development/jdbc/documentation/atp-5073445-ja.html
WebLogic Server 10.3.6-12c に同梱された UCP と JDBC ドライバをアップグレードする方法 (ドキュメントID 2005250.1) ※要ログイン
https://support.oracle.com/epmos/faces/DocumentDisplay?id=2005250.1
Starting With Oracle JDBC Drivers - Installation, Certification, and More! (Document ID 401934.1) ※要ログイン
https://support.oracle.com/epmos/faces/DocumentDisplay?id=401934.1