WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: z/OS

             目次と検索結果のパーソナライズ化
このトピックは、z/OS オペレーティング・システムにのみ適用されます。

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

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

このタスクについて

セッション・データを収集するための DB2 表を作成するには、次を行います。

プロシージャー

  1. DB2 管理者により、セッション・データを保管するための DB2 データベース表を作成します。 (DB2 データベースの作成については、「DB2 UDB for OS/390 and z/OS V7 Administration Guide」を参照してください。)

    データベース表を作成する表スペースは、行レベルのロック (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 表を使用して、セッション・データを処理します。 この表は、次の形式にする必要があります。

    CREATE TABLE database_name.table_name  (
      ID               VARCHAR(95) NOT NULL ,
      PROPID           VARCHAR(95) 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),
      SESSROW          ROWID NOT NULL GENERATED ALWAYS
      )
      IN database_name.tablespace_name;
    注: この例で VARCHAR に指定した長さ属性を、DB2 管理者が作成する DB2 表に必ずしも使用する 必要はありません。ガイダンスに使用する DB2 バージョンの「DB2 SQL リファレンス」を参照して、 インストールに対するこれらの長さ属性の適切な値を判別してください。

    この表の「ID」列、「PROPID」列、および「APPNAME」列に固有索引を作成する必要があります。 以下に、索引定義の例を示します。

    CREATE UNIQUE INDEX database_name.index_name.
          database_name.table_name
          (ID     ASC,
          PROPID  ASC,
          APPNAME ASC);
    注:
    1. 実行時に、セッション・マネージャーは、所有する Web アプリケーションがデプロイされている J2EE サーバーの ID を使用して、ターゲット表にアクセスします。 持続セッションを使用するよう構成されたすべての Web コンテナーは、対象のデータベース表への読み取りアクセス権と更新アクセス権の両方を持っている必要があります。
    2. HTTP セッションの処理では、CREATE INDEX ステートメントを使用して定義された索引を使用し、データベースのデッドロックを回避します。DB2 では、この索引が使用されない場合があります (データベースに対して比較的小さな表のサイズが定義されている場合など)。索引が使用されない場合は、データベースのデッドロックが発生する可能性があります。このような場合は、ご使用のバージョンの DB2 の「DB2 Administration Guide」に記載されている、 索引に必要なスペースの推奨される計算方法を参照して、使用する表のサイズを調整してください。
    3. セッション・データベース表を効率的に使用し、アクセス時のデッドロックを回避するには、DB2 のチューニングが必要になる場合があります。 DB2 管理者は、使用する DB2 バージョンのチューニングに関する特定の情報について、 「DB2 Administration Guide」を参照する必要があります。

    ラージ・オブジェクト (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 管理者により、この DB2 表に適切なアクセス権 z/OS userID を付与します。 この ID のもとでサーバー領域が実行します。例えば、次のコマンドを実行して、サーバー領域が実行してい る z/OS userID CBASRU1 のアクセス権を、データベース SESSDB 内の表 SESSIONS に対して与えます。
    GRANT ALL ON SESSDB.SESSIONS TO CBASRU1;
  3. セッション・パーシスタンスの DB2 表を構成します



関連タスク
[z/OS] データベース・セッション・パーシスタンスの構成
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/tprs_db2tzos.html