创建会话持久性表

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

关于此任务

每当为数据库持久性设置会话管理器时,会话管理器将创建一个供数据库持久性使用的表。如果要扩展列大小限制以使其更适合于 Web 站点,那么可以在外部创建此表。如果在会话管理器数据库持久性配置中指定外部表作为目标表,那么在会话管理器启动期间,将使用这个外部表。在大多数情况下,最好是让会话管理器在启动期间创建此表。

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

过程

  1. 让您的管理员使用下列其中一种数据定义语言 (DDL) 来创建数据库表以存储会话数据: 对于 DB2®:
    CREATE TABLE <SchemaName>.sessions  (
      ID               VARCHAR(128) NOT NULL ,
      PROPID           VARCHAR(128) NOT NULL ,
      APPNAME          VARCHAR(128) NOT NULL,
      LISTENERCNT      SMALLINT ,
      LASTACCESS       BIGINT,
      CREATIONTIME     BIGINT,
      MAXINACTIVETIME  INTEGER ,
      USERNAME         VARCHAR(256) ,
      SMALL            VARCHAR(3122)  FOR BIT DATA ,
      MEDIUM           LONG VARCHAR FOR BIT DATA ,
      LARGE            BLOB(2M)
        )
      
    对于 Oracle:
    CREATE TABLE SESSIONS  (
      ID               VARCHAR(128) NOT NULL ,
      PROPID           VARCHAR(128) NOT NULL ,
      APPNAME          VARCHAR(128) NOT NULL,
      LISTENERCNT      SMALLINT ,
      LASTACCESS       INTEGER,
      CREATIONTIME     INTEGER,
      MAXINACTIVETIME  INTEGER ,
      USERNAME         VARCHAR(256) ,
      SMALL            RAW(2000),
      MEDIUM           LONG RAW ,
      LARGE            RAW(1)
      )
    如果 Web 容器定制属性 UseOracleBLOB 设置为 true,那么:
    CREATE TABLE SESSIONS  (
      ID               VARCHAR(128) NOT NULL ,
      PROPID           VARCHAR(128) NOT NULL ,
      APPNAME          VARCHAR(128) NOT NULL,
      LISTENERCNT      SMALLINT ,
      LASTACCESS       INTEGER,
      CREATIONTIME     INTEGER,
      MAXINACTIVETIME  INTEGER ,
      USERNAME         VARCHAR(256) ,
      SMALL            RAW(2000),
      MEDIUM           BLOB,
      LARGE            RAW(1)
      )
    注意:
    1. 在运行时,会话管理器使用部署了属主 Web 应用程序的 Java™ Platform, Enterprise Edition (Java EE) 服务器的标识来访问目标表。任何配置为使用持久会话的 Web 容器都应该具有对主题数据库表的读和更新访问权。
    2. HTTP 会话处理过程使用用 CREATE INDEX 语句定义的索引,以避免数据库死锁。在某些情况下,例如在为数据库定义了相对较小的表大小时,DB2 可能会决定不使用此索引。当不使用索引时,会发生数据库死锁。如果发生数据库死锁,请参阅您使用的 DB2 版本的《DB2 管理指南》,以获取有关计算索引所需空间的建议并相应地调整所使用的表大小。
    3. 您可能需要调整 DB2,以便在访问它时能够高效地使用会话数据库表并避免死锁。DB2 管理员应该参阅《DB2 管理指南》,以便了解有关调整所使用的 DB2 版本的特定信息。
    4. 在运行时期间,会话管理器可能会在数据库中为应用程序的每个 Web 模块都创建一个条目。这个数据行在内部用于会话管理,例如,用于使会话无效。请不要干预此条目。可以忽略此条目。
    5. 如果会话数据库表需要主键约束,那么必须使用 ID、PROPID 和 APPNAME 列定义主键约束。
  2. [z/OS]配置会话持久性表。

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



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