VSAM - Indeks Alternatif
Indeks alternatif adalah indeks tambahan yang dibuat untuk kumpulan data KSDS / ESDS selain indeks utamanya. Indeks alternatif menyediakan akses ke rekaman dengan menggunakan lebih dari satu kunci. Kunci indeks alternatif dapat berupa kunci non-unik, dapat memiliki duplikat.
Pembuatan Indeks Alternatif
Langkah-langkah berikut digunakan untuk membuat Indeks Alternatif -
- Tentukan Indeks Alternatif
- Tentukan Path
- Indeks Bangunan
Tentukan Indeks Alternatif
Indeks Alternatif ditentukan dengan menggunakan DEFINE AIX perintah.
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))
Sintaks di atas menunjukkan parameter yang digunakan saat menentukan Indeks Alternatif. Kita telah membahas beberapa parameter dalam Define Cluster Module dan beberapa parameter baru digunakan dalam mendefinisikan Indeks Alternatif yang akan kita bahas di sini -
Sr Tidak | Parameter dengan Deskripsi |
---|---|
1 | DEFINE AIX Perintah Define AIX digunakan untuk mendefinisikan Alternate Index dan menentukan atribut parameter untuk komponennya. |
2 | NAME NAMA menentukan nama Indeks Alternatif. |
3 | RELATE RELATE menentukan nama cluster VSAM yang indeks alternatifnya dibuat. |
4 | NONUNIQUEKEY / UNIQUEKEY UNIQUEKEY menentukan bahwa indeks alternatif itu unik dan NONUNIQUEKEY menentukan bahwa duplikat mungkin ada. |
5 | UPGRADE / NOUPGRADE UPGRADE menentukan bahwa indeks alternatif harus dimodifikasi jika cluster dasar dimodifikasi dan NOUPGRADE menentukan bahwa indeks alternatif harus dibiarkan sendiri jika cluster dasar dimodifikasi. |
Contoh
Berikut adalah contoh dasar untuk menunjukkan bagaimana mendefinisikan Indeks Alternatif di 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))
/*
Jika Anda akan menjalankan JCL di atas pada server Mainframes. Ini harus dijalankan dengan MAXCC = 0 dan itu akan membuat Indeks Alternatif MY.VSAM.KSDSAIX.
Tentukan Path
Define Path digunakan untuk menghubungkan indeks alternatif ke cluster dasar. Saat menentukan jalur, kami menentukan nama jalur dan indeks alternatif yang terkait dengan jalur ini.
DEFINE PATH -
NAME(alternate-index-path-name) -
PATHENTRY(alternate-index-name))
Sintaks di atas memiliki dua parameter. NAME digunakan untuk menentukan Nama Jalur Indeks Alternatif dan PATHENTRY digunakan untuk menentukan Nama Indeks Alternatif.
Contoh
Berikut adalah contoh dasar untuk mendefinisikan Path di 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))
/*
Jika Anda akan menjalankan JCL di atas pada server Mainframes. Ini harus dijalankan dengan MAXCC = 0 dan itu akan membuat jalur antara Indeks Alternatif ke cluster dasar.
Indeks Bangunan
Perintah BLDINDEX digunakan untuk membangun indeks alternatif. BLDINDEX membaca semua catatan dalam kumpulan data terindeks VSAM (atau cluster dasar) dan mengekstrak data yang diperlukan untuk membuat indeks alternatif.
BLDINDEX -
INDATASET(vsam-cluster-name) -
OUTDATASET(alternate-index-name))
Sintaks di atas memiliki dua parameter. INDATASET digunakan untuk menentukan Nama Cluster VSAM dan OUTDATASET digunakan untuk menentukan Nama Indeks Alternatif.
Contoh
Berikut adalah contoh dasar untuk Membangun Indeks di 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))
/*
Jika Anda akan menjalankan JCL di atas pada server Mainframes. Ini harus dijalankan dengan MAXCC = 0 dan itu akan membangun indeks.