![[z/OS]](../images/ngzos.gif)
为会话持久性创建 DB2 表
收集会话数据并将其存储在 DB2® 表中。如果您对会话持久性使用 DB2,那么必须创建并定义与应用程序服务器相关联的 DB2 表。
关于此任务
要创建用于收集会话数据的 DB2 表,执行以下操作:
过程
- 让您的 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 指定的长度属性只是示例。这些值的大小应足以处理应用程序名称和每个会话属性名称的长度。必须对此表的 ID、PROPID 和 APPNAME 列创建唯一索引。下列是索引定义的示例:
CREATE UNIQUE INDEX database_name.index_name ON database_name.table_name (ID ASC, PROPID ASC, APPNAME ASC);
注:- 运行时,会话管理器使用 J2EE 服务器标识来访问目标表,在该 J2EE 服务器中部署了属主 Web 应用程序。 任何配置为使用持久会话的 Web 容器都应该具有对主题数据库表的读和更新访问权。
- HTTP 会话处理过程使用用 CREATE INDEX 语句定义的索引,以避免数据库死锁。在某些情况下,例如在为数据库定义了相对较小的表大小时,DB2 可能会决定不使用此索引。当不使用索引时,会发生数据库死锁。如果发生这种情况,请参阅您使用的 DB2 版本的《DB2 管理指南》,获取如何计算索引必需的空间的建议,并相应地调整您使用的表的大小。
- 可能必须调整 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;
- 让您的 DB2 管理员授予 z/OS 用户标识(以此用户标识运行服务器区域)对此 DB2 表的适当的访问权。例如,发出以下命令以授予 z/OS 用户标识 CBASRU1(以此用户标识运行服务器区域)对数据库 SESSDB 中包含的表 SESSIONS 的访问权:
GRANT ALL ON SESSDB.SESSIONS TO CBASRU1;
- 为会话持久性配置 DB2 表。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprs_db2tzos
文件名:tprs_db2tzos.html