z/OS でのDB2JDBC Type 2ドライバーの使用可能化
Liberty サーバーは、 z/OS®上で JDBC タイプ 2 ドライバー実装を使用することにより、 DB2® と対話できるようになります。
始めに
このサポートを使用可能にする前に、エンジェル・プロセスを開始する必要があります。 詳しくは、 z/OSを参照してください。 z/OS 開始タスクとして実行するように Liberty サーバーを構成できます。
このタスクについて
DB2などの RRS 対応リソースを使用する場合、以下のオプション構成があります。
- サーバーの停止時に Resource and Recovery Services (RRS) RM.DATA ログ・ストリームからリソース・マネージャー名をサーバーが自動的に削除するように構成できます。 この構成はオプションですが、使用可能にすると、リソース・マネージャー名がログ・ストリームに累積することがなくなります。 RM 名の自動削除を使用可能にするには、サーバーが ATRSRV マクロを呼び出せるように Resource Access Control Facility (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 トランザクション管理」を参照してください。
手順
例
<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>