VSAM-대체 색인

대체 색인은 기본 색인 외에 KSDS / ESDS 데이터 세트에 대해 생성되는 추가 색인입니다. 대체 색인은 둘 이상의 키를 사용하여 레코드에 대한 액세스를 제공합니다. 대체 색인의 키는 고유하지 않은 키일 수 있으며 중복 될 수 있습니다.

대체 색인 생성

다음 단계는 대체 색인을 만드는 데 사용됩니다-

  • 대체 색인 정의
  • 경로 정의
  • 건물 색인

대체 색인 정의

대체 색인은 다음을 사용하여 정의됩니다. DEFINE AIX 명령.

DEFINE AIX                              -
(NAME(alternate-index-name)             -
RELATE(vsam-file-name)                  -
CISZ(number)                            -
FREESPACE(CI-Percentage,CA-Percentage)  -
KEYS(length offset)                     -
NONUNIQUEKEY / UNIQUEKEY                -
UPGRADE / NOUPGRADE                     -
RECORDSIZE(average maximum))            -
DATA                                    -
   (NAME(vsam-file-name.data))          -
INDEX                                   -
   (NAME(vsam-file-name.index))

위의 구문은 대체 색인을 정의하는 동안 사용되는 매개 변수를 보여줍니다. 우리는 이미 Define Cluster Module에서 몇 가지 매개 변수에 대해 논의했으며 여기에서 논의 할 대체 색인을 정의하는 데 일부 새 매개 변수가 사용됩니다.

Sr. 아니요 설명이있는 매개 변수
1

DEFINE AIX

AIX 명령 정의는 대체 색인을 정의하고 해당 구성 요소의 매개 변수 속성을 지정하는 데 사용됩니다.

2

NAME

NAME은 대체 색인의 이름을 지정합니다.

RELATE

RELATE는 대체 색인이 작성되는 VSAM 클러스터의 이름을 지정합니다.

4

NONUNIQUEKEY / UNIQUEKEY

UNIQUEKEY는 대체 색인이 고유함을 지정하고 NONUNIQUEKEY는 중복이 존재할 수 있음을 지정합니다.

5

UPGRADE / NOUPGRADE

UPGRADE는 기본 클러스터가 수정 된 경우 대체 인덱스를 수정하도록 지정하고 NOUPGRADE는 기본 클러스터가 수정 된 경우 대체 인덱스를 그대로 두도록 지정합니다.

다음은 JCL에서 대체 색인을 정의하는 방법을 보여주는 기본 예입니다.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1  EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DEFINE AIX (NAME(MY.VSAM.KSDSAIX)      -
   RELATE(MY.VSAM.KSDSFILE)               -
   CISZ(4096)                             -
   FREESPACE(20,20)                       -
   KEYS(20,7)                             -
   NONUNIQUEKEY                           -
   UPGRADE                                -
   RECORDSIZE(80,80))                     -
   DATA(NAME(MY.VSAM.KSDSAIX.DATA))       -
   INDEX(NAME(MY.VSAM.KSDSAIX.INDEX))
/*

메인 프레임 서버에서 위의 JCL을 실행하는 경우. MAXCC = 0으로 실행해야하며 MY.VSAM.KSDSAIX 대체 인덱스를 생성합니다.

경로 정의

경로 정의는 대체 인덱스를 기본 클러스터에 연결하는 데 사용됩니다. 경로를 정의하는 동안 경로 이름과이 경로가 관련된 대체 색인을 지정합니다.

DEFINE PATH                        -
NAME(alternate-index-path-name)    -
PATHENTRY(alternate-index-name))

위 구문에는 두 개의 매개 변수가 있습니다. NAME은 대체 색인 경로 이름을 지정하는 데 사용되고 PATHENTRY는 대체 색인 이름을 지정하는 데 사용됩니다.

다음은 JCL에서 경로를 정의하는 기본 예입니다.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1  EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
DEFINE PATH                          -
   NAME(MY.VSAM.KSDSAIX.PATH)    -
   PATHENTRY(MY.VSAM.KSDSAIX))
/*

메인 프레임 서버에서 위의 JCL을 실행하는 경우. MAXCC = 0으로 실행되어야하며 대체 인덱스와 기본 클러스터 사이에 경로가 생성됩니다.

건물 색인

BLDINDEX 명령은 대체 색인을 작성하는 데 사용됩니다. BLDINDEX는 VSAM 색인화 된 데이터 세트 (또는 기본 클러스터)의 모든 레코드를 읽고 대체 색인을 빌드하는 데 필요한 데이터를 추출합니다.

BLDINDEX                           -
INDATASET(vsam-cluster-name)       -
OUTDATASET(alternate-index-name))

위 구문에는 두 개의 매개 변수가 있습니다. INDATASET은 VSAM 클러스터 이름을 지정하는 데 사용되며 OUTDATASET는 대체 인덱스 이름을 지정하는 데 사용됩니다.

다음은 JCL에서 색인을 작성하는 기본 예입니다.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1  EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   BLDINDEX                           -
   INDATASET(MY.VSAM.KSDSFILE)        -
   OUTDATASET(MY.VSAM.KSDSAIX))
/*

메인 프레임 서버에서 위의 JCL을 실행하는 경우. MAXCC = 0으로 실행해야하며 인덱스를 빌드합니다.