![[z/OS]](../images/ngzos.gif)
세션 지속성을 위해 DB2 테이블 구성
세션 데이터는 수집되고 DB2® 테이블에 저장됩니다. 세션 지속성을 위해 DB2를 사용 중인 경우에는 Application Server와 연관된 DB2 테이블을 작성하고 정의해야 합니다.
이 태스크 정보
세션 데이터를 수집하기 위해 DB2 테이블을 작성하려면 다음을 수행하십시오.
프로시저
- DB2 관리자가 세션 데이터를 저장하기 위해 DB2 데이터베이스 테이블을
작성하도록 하십시오. (DB2 데이터베이스 작성에 대한 자세한 정보는
DB2 UDB for 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 서버의 ID를 사용하여 대상 테이블에 액세스합니다. 지속적 세션을 사용하도록 구성된 모든 웹 컨테이너에는 제목 데이터베이스 테이블에 대한 읽기 및 업데이트 액세스 둘 모두가 있어야 합니다.
- 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 사용자 ID에
이 DB2 테이블에 대한 적합한 액세스를 부여하도록 하십시오. 예를 들어,
다음 명령을 실행하여 서버 리젼이 실행 중인 z/OS userID 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