[z/OS]

为会话持久性创建 DB2 表

收集会话数据并将其存储在 DB2® 表中。如果您对会话持久性使用 DB2,那么必须创建并定义与应用程序服务器相关联的 DB2 表。

关于此任务

要创建用于收集会话数据的 DB2 表,执行以下操作:

过程

  1. 让您的 DB2 管理员创建 DB2 数据库表,以存储您的会话数据。(有关创建 DB2 数据库的更多信息,请参阅《DB2 UDB OS/390® 版和 z/OS® 版 V7 管理指南》。)

    表空间(在其中创建数据库表)必须带行级别锁定(LOCKSIZE ROW)定义。它还应该有页大小,该大小对会话期间被存储在表中的对象而言足够大。下列是带有指定的行级别锁定和缓冲池页面大小为 32K 的表空间定义示例:

    CREATE DATABASE database_name
      STOGROUP SYSDEFLT
      CCSID EBCDIC;
    
    CREATE TABLESPACE tablespace_name IN database_name
      USING STOGROUP group_name
      PRIQTY 512
      SECQTY 1024
      LOCKSIZE ROW
      BUFFERPOOL BP32K;

    会话管理器使用此表空间中定义的 DB2 表处理会话数据。此表必须具有下列格式(VARCHAR 长度例外,它是可配置的):

    CREATE TABLE database_name.table_name  (
      ID               VARCHAR(128) NOT NULL ,
      PROPID           VARCHAR(128) NOT NULL ,
      APPNAME          VARCHAR(64) ,
      LISTENERCNT      SMALLINT ,
      LASTACCESS       DECIMAL(19,0),
      CREATIONTIME     DECIMAL(19,0),
      MAXINACTIVETIME  INTEGER ,
      USERNAME         VARCHAR(256) ,
      SMALL            VARCHAR(3122)  FOR BIT DATA ,
      MEDIUM           VARCHAR(28869) FOR BIT DATA,
      LARGE            BLOB(2097152),
      )
      IN database_name.tablespace_name;
    注: 对 VARCHAR 指定的长度属性只是示例。这些值的大小应足以处理应用程序名称和每个会话属性名称的长度。

    必须对此表的 IDPROPIDAPPNAME 列创建唯一索引。下列是索引定义的示例:

    CREATE UNIQUE INDEX database_name.index_name ON 
          database_name.table_name
          (ID     ASC,
          PROPID  ASC,
          APPNAME ASC);
    注:
    1. 运行时,会话管理器使用 J2EE 服务器标识来访问目标表,在该 J2EE 服务器中部署了属主 Web 应用程序。 任何配置为使用持久会话的 Web 容器都应该具有对主题数据库表的读和更新访问权。
    2. HTTP 会话处理过程使用用 CREATE INDEX 语句定义的索引,以避免数据库死锁。在某些情况下,例如在为数据库定义了相对较小的表大小时,DB2 可能会决定不使用此索引。当不使用索引时,会发生数据库死锁。如果发生这种情况,请参阅您使用的 DB2 版本的《DB2 管理指南》,获取如何计算索引必需的空间的建议,并相应地调整您使用的表的大小。
    3. 可能必须调整 DB2,以便在访问它时能够有效地使用会话数据库表并避免死锁。您的 DB2 管理员应参考《DB2 管理指南》,以了解有关调整您所使用的 DB2 版本的特定信息。

    必须定义一个大对象 (LOB) 表空间并且必须在该表空间内定义一个辅助表。下列是 LOB 表空间定义的示例:

    CREATE LOB TABLESPACE LOB_tablespace_name IN database_name
        BUFFERPOOL BP32K
        USING STOGROUP group_name
        PRIQTY 512
        SECQTY 1024
        LOCKSIZE LOB;
    
    CREATE AUX TABLE database_name.aux_table_name
        IN database_name.LOB_tablespace_name
        STORES database_name.table_name
        COLUMN LARGE;

    必须为此辅助表创建索引。 下列是索引定义的示例:

    CREATE INDEX database_name.aux_index_name ON 
          database_name.aux_table_name;
  2. 让您的 DB2 管理员授予 z/OS 用户标识(以此用户标识运行服务器区域)对此 DB2 表的适当的访问权。例如,发出以下命令以授予 z/OS 用户标识 CBASRU1(以此用户标识运行服务器区域)对数据库 SESSDB 中包含的表 SESSIONS 的访问权:
    GRANT ALL ON SESSDB.SESSIONS TO CBASRU1;
  3. 为会话持久性配置 DB2 表

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprs_db2tzos
文件名:tprs_db2tzos.html