セッション・パーシスタンス用の表の作成

データベース表を使用して、セッション・データを収集および保管することができます。 セッション・パーシスタンスにデータベース表を使用する場合は、 アプリケーション・サーバーに関連付けられているデータベース表を作成し、定義する必要があります。

このタスクについて

セッション・マネージャーがデータベース・パーシスタンスに設定されていると、 セッション・マネージャーはパーシスタンス管理の表を作成します。 列のサイズ制限を広げて、より適切に 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) サーバーの ID を使用して、ターゲット表にアクセスします。 持続セッションを使用するよう構成されたすべての Web コンテナーは、対象のデータベース表への読み取りアクセス権と更新アクセス権の両方を持っている必要があります。
    2. HTTP セッションの処理では、CREATE INDEX ステートメントを使用して定義された索引を使用し、データベースのデッドロックを回避します。場合によっては、例えば、データベースに対して比較的小さな表サイズが定義されている場合などは、DB2 ではこの索引が使用されないことがあります。索引が使用されない場合は、データベースのデッドロックが発生する可能性があります。データベースのデッドロックが発生する場合は、ご使用の DB2 バージョンの「DB2 管理ガイド」に記載されている、索引に必要なスペースの推奨される計算方法を参照し、使用する表のサイズを適宜調整してください。
    3. セッション・データベース表を有効に利用して、アクセス時のデッドロックを回避するには、DB2 の調整が必要になる場合があります。 DB2 管理者は、使用する DB2 バージョンの調整に関する特定の情報について、「DB2 管理ガイド」を参照する必要があります。
    4. 実行時にセッション・マネージャーが、アプリケーションの各 Web モジュールに対するエントリーを、データベース内に作成する場合があります。このデータ行は、セッション中の無効化など、セッション管理の目的で内部的に使用されます。このエントリーについて心配する必要はありません。無視することができます。
    5. セッション・データベース表で 1 次キー制約が必要な場合は、ID、PROPID、および APPNAME の各列を使用して、1 次キー制約を定義する必要があります。
  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