For z/OS platforms

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 を参照してください。

手順

  1. Liberty サーバーの server.xml 構成ファイルを更新します。zosTransaction-1.0 フィーチャー・サブエレメントを featureManager エレメントに追加します。
    <featureManager>
      <feature>zosTransaction-1.0</feature>
    </featureManager>
    このフィーチャーを指定すると、アプリケーション・サーバーは、リソース・リカバリー・サービス (RRS)、アプリケーション・サーバーのトランザクション・マネージャー、およびリソース・マネージャーの間で、トランザクションのアクティビティーを同期化し、適切に管理できるようになります。 そのため、zosTransaction-1.0 フィーチャーを構成せずに作業を行うことはできません。
  2. 以下のように、リソースの (DB2) ネイティブ・ライブラリーをリソースの <library> 構成エレメントに追加します。 例の <library> エレメントは以下のようになります。
    <library id ="DB2T2LibRef">
      	<fileset dir="<YOUR DB2 T2 LIBRARY PATHS>" />
    	  <fileset dir="<YOUR DB2 T2 NATIVE LIBRARY PATHS>" />
    </library>	
  3. jdbcDriver エレメントと datasource エレメントを構成します。

    datasource エレメントを定義する際、type 属性は、 値 javax.sql.ConnectionPoolDataSource がデフォルトで使用されるため、構成をスキップすることができます。 type 属性を明示的に構成する場合は、値 javax.sql.ConnectionPoolDataSource を使用する必要があります。

    datasource エレメントには、properties.db2.jcc という名前の子エレメントを含めることができます。 properties.db2.jcc エレメントで指定された属性は、DB2 JCC Driver に直接渡されます。driverType 属性は必須であり、2 に設定する必要があります。databaseName 属性も必須です。ssid 属性は必須ではありませんが、LPAR に複数の DB2 サブシステムがある場合に当該データ・ソースの接続先の DB2 for z/OS サブシステムを制御するために使用できます。

以下の例では、server.xml 構成ファイルでアプリケーション、JDBC ドライバー、ライブラリー、ファイル・セット、およびデータ・ソースの各エレメントを構成する方法を示します。
<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>

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_using_DB2JDBCtype2drv_zos.html