z/OS での DB2 JDBC Type 2 ドライバーの使用可能化
Liberty サーバーは、z/OS® で JDBC Type 2 ドライバー実装を使用して DB2® と対話できるように構成できます。
始める前に
このサポートを使用可能にする前に、エンジェル・プロセスを開始する必要があります。詳しくは、z/OS での Liberty の管理を参照してください。z/OS 開始タスクとして実行されるように Liberty サーバーを構成できます。詳しくは、『Configuring a Liberty server as a z/OS started task』を参照してください。
このタスクについて
DB2 などの RRS 対応リソースを使用している場合は、以下のオプション構成を使用できます。
- サーバーの停止時に Resource and Recovery Services (RRS) RM.DATA ログ・ストリームからリソース・マネージャー名をサーバーが自動的に削除するように構成できます。この構成はオプションですが、使用可能にすると、リソース・マネージャー名がログ・ストリームに累積することがなくなります。自動 RM 名削除を使用可能にするには、サーバーが ATRSRV マクロを呼び出せるようにリソース・アクセス管理機能 (RACF®) を構成します。自動 RM 名削除を使用可能にするには、Liberty サーバーが実行されているユーザー ID は、以下のいずれかに対する FACILITY クラスの ALTER 権限を備えている必要があります。
- MVSADMIN.RRS.COMMANDS.gname.sysname リソース (特定のロギング・グループ名 (gname) およびシステム (sysname) にアクセスするため)
- MVSADMIN.RRS.COMMANDS.* リソース (すべてのシステムおよびロギング・グループ名にアクセスできるようにするため)
- デバッグを支援するデータをログに記録するように RM.METADATA ログ・ストリームを定義できます。Liberty サーバーが実行されているユーザー ID は、説明したように、FACILITY クラスの ALTER 権限を備えている必要があります。
注: ATRSRV マクロ、該当する RACF 許可の設定、および RM.METADATA ログ・ストリームの定義方法について詳しくは、ご使用のシステムの z/OS レベルに該当する資料「MVS プログラミング: リソース・リカバリー」を参照してください。
- サーバーが停止したとき、または zosTransaction-1.0 フィーチャーが必要なくなったときに、ネイティブ・コンテキストをアクティブに使用するトランザクションが完了するまで待機する時間を制御できます。 これを行うには、nativeTransactionManager 構成エレメントおよび shutdownTimeout 属性を使用します。
- 特定のサーバーで RRS 対応リソース (例えば、DB2 T2) を必要とするトランザクション作業を実行するためのユーザー権限を制限できます。
これを行うには、nativeTransactionManager 構成エレメントおよび resourceManagerNamePrefix 属性を使用します。注: resourceManagerNamePrefix 属性は、RRS で登録されたサーバー生成のリソース・マネージャー名の一部として使用する 1 から 8 文字の英数字 (A から Z、a から z、0 から 9) と国別文字 (@、#、$) でのみ構成される文字接頭部を指定します。接頭部「DEFAULT」は予約済み接頭部であり、デフォルトのサーバー構成を識別します。サーバー・アクセスの保護にこの接頭部を使用しないでください。構成された接頭部が名前、長さ、および文字の要件に準拠していない場合は、DEFAULT 接頭部名が使用されます。接頭部は、許可ユーザーのみが RRS 対応リソースを必要とする (通常およびリカバリーの) トランザクション作業を実行できるようにシステム管理者が構成するためのものです。例えば、接頭部が構成されたサーバー上の DB2 T2 が考えられます。システム管理者は、SERVER クラスの下に BBG.RMNAME.<PREFIX>.RRS リソースを定義して、必要なユーザーに READ 権限を付与する必要があります。
以下の例では、オプションの構成について説明します。
Server.xml のエレメントおよび属性の定義:<nativeTransactionManager shutdownTimeout="20s" resourceManagerNamePrefix="PROD1"/>
RACF リソース定義およびユーザー権限:RDEF SERVER BBG.RMNAME.PROD1.RRS UACC(NONE) PERMIT BBG.RMNAME.PROD1.RRS CLASS(SERVER) ACCESS(READ) ID(PROD1USR) SETR RACLIST(SERVER) GENERIC(SERVER) REFR
nativeTransactionManager エレメントについて詳しくは、z/OS Transaction Management を参照してください。
手順
例
<application type="war" id="db2T2TxWar" name="db2T2TxWar" location="/u/user1/wlp/usr/servers/defaultServer/dropins/db2T2Tx.war" />
<jdbcDriver id="DB2T2" libraryRef="DB2T2LibRef"/>
<library id="DB2T2LibRef">
<fileset dir="/db2v10/jcc/classes" />
<fileset dir="/db2v10/jcc/lib" />
</library>
<dataSource id="jdbc/DB2T2" jndiName="jdbc/DB2T2" jdbcDriverRef="DB2T2" type="javax.sql.ConnectionPoolDataSource">
<properties.db2.jcc driverType="2" databaseName="LOC1" />
</dataSource>