前回 Gen2 Oracle Cloud(以後 OCI) に WebLogic Server for Oracle Cloud Infrastructure(以後 wls4oci) をプロビジョニングできたので、今回はこの Weblogic Server から Autonomous Transaction Processing (以後 ATP)をデータソースとして接続を試みます。
手順は以下のとおり
- ATPを作成
- ウォレットのダウンロードと設定
- wls4oci 管理コンソールでデータソースを設定
- wls4oci からのATPへの接続を確認
1. ATPを作成
wls4oci をプロビジョニングした大阪リージョンに同じくATPを作成します。
ATPの作成はとてもシンプルです。Oracle Cloud にサインイン後、ナビゲーションメニューから[Autonomous Transaction Processing] を選択し、Autonomous Database(ATP)を作成します。入力項目は多くはありません。
[コンパートメント] 適切なコンパ―tメントを選択します。
[データベース名] ATP4WLS といれておきます。
[ワークロード・タイプの選択] ATP の場合、 トランザクション処理 を選択します。
[デプロイメント・タイプの選択] 共有インフラを選択します。
続けて、
[データベース・バージョンの選択] 19c を選択
[OCPU数] 1 を選択
[ストレージ(TB)] 1 を選択
[自動スケーリング] 接続テストなのでチェックなし
さらに、管理者のユーザー名、パスワードを入力します。
最後に、
[ネットワーク・アクセスの選択] すべての場所からセキュア・アクセスを許可を選択
[ライセンス・タイプの選択] ライセンス込みを選択
以上でATP作成のための項目設定は終了です。[Autonomous Database の作成] をクリックするとプロビジョニングが開始されます。
しばらくすると、プロビジョニングが完了しATPが使用可能となります。
2. ウォレットのダウンロードと設定
クライアントからATPへ接続する際には、ウォレットというクライアント資格証明が必要です。ウォレットによりクライアントとATP間の相互認証やSSL暗号化によりセキュアな接続を可能とします。
ウォレットのダウンロード
ウォレットは作成したATPのサービスページから取得します。[DB接続]をクリックするとデータベース接続 画面が表示されます。
[ウォレット・タイプ] インスタント・ウォレット を選択
[ウォレット・ダウンロード] をクリックしてダウンロードを実行します。
パスワードを聞かれるので、ATP作成時に設定したパスワードを入力してダウンロードを進めます。
ATP作成時にデータベース名を ATP4WLS としたので、Wallet_ATP4WLS.zip というファイル名でダウンロードできました。
ウォレットの設定
ウォレットファイル(Wallet_ATP4WLS.zip)をWebLogic管理サーバーのコンピュートインスタンスにコピーし、ファイルを展開し必要な設定をおこないます。
TeraTerm などでコンピュートインスタンスに接続します。
接続ターミナル内でコマンド操作により以下を実施してください。
- ウォレットファイルをコピー
- 展開後のファイルの置き場所(例えば、/shared/atp)を作成し、ファイルを展開
- ファイルのオーナー/グループを oracle に変更
こちらではこのように展開されています。
[opc@mywls-wls-0 atp]$ pwd
/shared/atp
[opc@mywls-wls-0 atp]$ ls -l
total 64
-rw-rw-r--. 1 oracle oracle 6733 May 27 08:37 cwallet.sso
-rw-rw-r--. 1 oracle oracle 6688 May 27 08:37 ewallet.p12
-rw-rw-r--. 1 oracle oracle 3275 May 27 08:37 keystore.jks
-rw-rw-r--. 1 oracle oracle 691 May 27 08:37 ojdbc.properties
-rw-rw-r--. 1 oracle oracle 317 May 27 08:37 README
-rw-rw-r--. 1 oracle oracle 111 May 28 05:22 sqlnet.ora
-rw-rw-r--. 1 oracle oracle 1796 May 27 08:37 tnsnames.ora
-rw-rw-r--. 1 oracle oracle 3335 May 27 08:37 truststore.jks
sqlnet.ora を開いて DIRECTORY を展開したファイルの置き場所に変更します。
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/shared/atp")))
SSL_SERVER_DN_MATCH=yes
tnsname.ora を開いて内容を確認します。行の始めの接続サービス名 atp4wls_high は、この後のWebLogic管理サーバのデータソースの定義で使用します。
atp4wls_high = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-osaka-1.oraclecloud.com))(connect_data=(service_name=lx46kn8uks92unl_atp4wls_high.atp.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-osaka-1.oraclecloud.com,OU=Oracle ADB OSAKA,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))
atp4wls_low = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-osaka-1.oraclecloud.com))(connect_data=(service_name=lx46kn8uks92unl_atp4wls_low.atp.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-osaka-1.oraclecloud.com,OU=Oracle ADB OSAKA,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))
atp4wls_medium = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-osaka-1.oraclecloud.com))(connect_data=(service_name=lx46kn8uks92unl_atp4wls_medium.atp.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-osaka-1.oraclecloud.com,OU=Oracle ADB OSAKA,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))
WebLogic管理コンソールでのデータソース設定
WebLogicの管理コンソールを起動し、データソースの設定をおこないます。
ATP接続情報を入力します。
[ホスト名] ホスト名は tnsname.ora 内に記述されています。
[データベース名] ATP4WLS を入力します。
[ポート番号] 1522 を使用します。1521 ではありません。
接続先データベース(ATP)のURLを指定します。
[URL] JDBC.oracle.thin:@atp4wls_high と入力します。atp4wls_high は tnsname.ora で記述されている接続サービス名です。
プロパティを入力します。
ここでは簡易的に参照URLに記載の [Configuring a WebLogic Data Source to use ATP] のプロパティ値を入力しました。
データソースのターゲットを管理サーバとしてデータソースの作成を完了します。
Weblogic から ATPへの接続テスト
作成したデータソースを選択し、[モニタリング] - [テスト]からデータソースのテストを実行して接続を試します。
ページ上部にデータソースの接続成功のメッセージが表示され、ATPへの接続確認ができました。
参照URL
ATPをWebLogicデータソースとして設定
Configuring a WebLogic Data Source to use ATP