在 z/OS 上启用 DB2 JDBC 2 类驱动程序

通过在 z/OS® 上使用 JDBC 2 类驱动程序实现,可以使 Liberty 服务器能与 DB2® 交互。

开始之前

必须启动 Angel 进程,才能启用此支持。有关更多信息,请参阅在 z/OS 上管理 Liberty。可以将 Liberty 服务器配置为作为 z/OS 启动任务运行。有关更多信息,请参阅将 Liberty 服务器配置为 z/OS 启动任务

关于此任务

使用具备 RRS 功能的资源(例如 DB2)时,您具有下列可选配置:
  • 可以使服务器能在停止时自动地将资源管理器名称从资源和恢复服务 (RRS) RM.DATA 日志流中删除。此配置是可选的,但如果启用,那么会阻止资源管理器名称在日志流中累积。要启用自动 RM 名称删除操作,请配置资源访问控制工具 (RACF®) 以允许服务器调用 ATRSRV 宏。要启用自动 RM 名称删除操作,用于运行 Liberty 服务器的用户标识在 FACILITY 类中必须对下列任一项具有 ALTER 访问权:
    • MVSADMIN.RRS.COMMANDS.gname.sysname 资源,以访问特定日志记录组名 (gname) 和系统 (sysname)
    • MVSADMIN.RRS.COMMANDS.* 资源,以允许访问所有系统和日志记录组名
  • 可以定义 RM.METADATA 日志流以记录辅助调试的数据。用于运行 Liberty 服务器的用户标识必须像描述的那样,在 FACILITY 类中具有 ALTER 访问权。
注: 有关 ATRSRV 宏、设置相应的 RACF 许可权以及如何定义 RM.METADATA 日志流的更多信息,请参阅与系统的 z/OS 级别相关的《MVS 编程:资源恢复》出版物。
  • 可以控制服务器停止时或不再需要 zosTransaction-1.0 功能部件时,等待事务主动使用本机上下文来完成的时间。这可以通过使用 nativeTransactionManager 配置元素和 shutdownTimeout 属性来完成。
  • 可以限制在特定服务器上执行任何事务性工作(涉及具备 RRS 功能的资源,例如 DB2 T2)的用户权限。这可以通过使用 nativeTransactionManager 配置元素和 resourceManagerNamePrefix 属性来完成。
    注: resourceManagerNamePrefix 属性指定仅使用 1 到 8 个字母数字(A-Z、a-z、0-9)和国家标准字符(@、#、$)作为字符前缀,以用作向 RRS 注册的服务器生成资源管理器名称的组成部分。前缀“DEFAULT”是保留前缀,用于标识缺省服务器配置,因此不得用于保护服务器访问。如果所配置的前缀并不遵循名称、长度和字符需求,那么会使用前缀名称 DEFAULT。该前缀供系统管理员用来支持仅获授权的用户执行涉及具备 RRS 功能的资源的事务性工作(常规和恢复)。例如,配置了该前缀的服务器上的 DB2 T2。系统管理员必须在 SERVER 类下定义 BBG.RMNAME.<PREFIX>.RRS 资源,并授予必需的用户读权限。

    这些示例描述可选的配置:

    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 事务管理

过程

  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 和数据源元素。

    定义数据源元素时,可跳过 type 属性的配置,因为缺省情况下将使用值 javax.sql.ConnectionPoolDataSource。如果选择显式配置 type 属性,那么必须使用以下值:javax.sql.ConnectionPoolDataSource

    数据源元素可以包含名为 properties.db2.jcc 的子元素。 properties.db2.jcc 元素中提供的属性将直接传递到 DB2 JCC 驱动程序。driverType 属性是必需的,并且必须设置为 2databaseName 属性也是必需的。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