VSAM - Küme

VSAM kümesi, JCL. JCL kullanırIDCAMSküme oluşturmak için yardımcı program. IDCAMS, erişim yöntemi hizmetleri için IBM tarafından geliştirilmiş bir yardımcı programdır. Öncelikle VSAM veri kümelerini tanımlamak için kullanılır.

Bir Küme Tanımlama

Aşağıdaki sözdizimi, altında gruplanan ana parametreleri gösterir. Define Cluster, Data ve Index.

.DEFINE CLUSTER (NAME(vsam-file-name)      -
BLOCKS(number)                             -
VOLUMES(volume-serial)                     -
[INDEXED / NONINDEXED / NUMBERED / LINEAR] -
RECSZ(average maximum)                     -
[FREESPACE(CI-Percentage,CA-Percentage)]   -
CISZ(number)                               -
[KEYS(length offset)]                      -
[READPW(password)]                         -
[FOR(days)|TO(date)]                       -
[UPDATEPW(password)]                       -
[REUSE / NOREUSE] )                        -
DATA                                       -
   (NAME(vsam-file-name.data))             -
INDEX                                      -
   (NAME(vsam-file-name.index))            -
CATALOG(catalog-name[/password]))

KÜMELENME düzeyindeki parametreler tüm kümeye uygulanır. DATA veya INDEX düzeyindeki parametreler yalnızca veri veya dizin bileşeni için geçerlidir.

Her bir parametreyi aşağıdaki tabloda ayrıntılı olarak tartışacağız -

Sr.No Açıklamalı Parametreler
1

DEFINE CLUSTER

Küme Tanımla komutu, bir küme tanımlamak ve küme ve bileşenleri için parametre özniteliklerini belirtmek için kullanılır.

2

NAME

NAME, kendisi için kümeyi tanımladığımız VSAM dosyasının adını belirtir.

3

BLOCKS

Bloklar, küme için atanan blokların sayısını belirtir.

4

VOLUMES

Birimler, kümeyi veya bileşeni içerecek bir veya daha fazla birimi belirtir.

5

INDEXED / NONINDEXED / NUMBERED / LINEAR

Bu parametre, oluşturduğumuz veri kümesinin türüne bağlı olarak INDEXED, NONINDEXED veya NUMBERED olmak üzere üç değer alabilir. Anahtar sıralı (KSDS) dosyalar için INDEXED seçeneği kullanılır. Giriş sıralı (ESDS) dosyalar için NONINDEXED seçeneği kullanılır. Göreli kayıt (RRDS) dosyaları için NUMARALI seçeneği gereklidir. Doğrusal (LDS) dosyalar için DOĞRUSAL seçeneği gereklidir. Bu parametrenin varsayılan değeri INDEXED'dir. Gelecek modüllerde KSDS, ESDS, RRDS ve LDS hakkında daha fazla bilgi vereceğiz.

6

RECSZ

Kayıt Boyutu parametresinin Ortalama ve Maksimum kayıt boyutu olmak üzere iki değeri vardır. Ortalama, dosyadaki mantıksal kayıtların ortalama uzunluğunu belirtir ve Maksimum, kayıtların uzunluğunu belirtir.

7

FREESPACE

Boş alan, veri bileşeninin kontrol aralıkları (CI) ve kontrol alanları (CA) için ayrılacak boş alan yüzdesini belirtir. Bu parametrenin varsayılan değeri yüzde sıfırdır.

8

CISZ

CISZ, Kontrol aralığı boyutu olarak bilinir. Kontrol aralıklarının boyutunu belirtir.

9

KEYS

Keys parametresi yalnızca anahtar sıralı (KSDS) dosyalarda tanımlanır. İlk sütundan birincil anahtarın uzunluğunu ve ofsetini belirtir. Bu parametrenin değer aralığı 1 ila 255 bayttır.

10

READPW

READPW parametresindeki değer, okuma seviyesinin şifresini belirtir.

11

FOR/TO

Bu parametrenin değeri, dosyanın saklanması için tarih ve gün cinsinden süre miktarını belirtir. Bu parametrenin varsayılan değeri sıfır gündür.

12

UPDATEPW

UPDATEPW parametresindeki değer, güncelleme seviyesinin şifresini belirtir.

13

REUSE / NOREUSE

REUSE parametresi, kümeleri silmeden ve yeniden tanımlamadan boş duruma sıfırlanabilen kümelerin tanımlanmasına izin verir.

14

DATA - NAME

Kümenin DATA bölümü, dosyanın gerçek verilerini içeren veri kümesi adını içerir.

15

INDEX-NAME

Kümenin INDEX bölümü, veri bölümündeki ilgili kayıt için birincil anahtarı ve bellek işaretçisini içerir. Bir Anahtar Sıralı küme kullanıldığında tanımlanır.

16

CATALOG

Katalog parametresi, dosyanın tanımlanacağı kataloğu belirtir. Kataloğu gelecek modüllerde ayrı ayrı tartışacağız.

Misal

Aşağıda, JCL'de bir kümenin nasıl tanımlanacağını gösteren temel bir örnek verilmiştir -

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1  EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DEFINE CLUSTER (NAME(MY.VSAM.KSDSFILE)  -
   INDEXED                                 -
   RECSZ(80 80)                            -
   TRACKS(1,1)                             -
   KEYS(5  0)                              -
   CISZ(4096)                              -                            
   FREESPACE(3 3) )                        -
   DATA (NAME(MY.VSAM.KSDSFILE.DATA))      -
   INDEX (NAME(MY.VSAM.KSDSFILE.INDEX))
/*

Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile çalışmalı ve MY.VSAM.KSDSFILE VSAM dosyasını oluşturacaktır.

Bir Kümeyi Silme

Bir VSAM dosyasını silmek için, VSAM kümesinin IDCAMS yardımcı programı kullanılarak silinmesi gerekir. DELETE komutu, VSAM kümesinin girişini katalogdan kaldırır ve isteğe bağlı olarak dosyayı kaldırır, böylece nesnenin kapladığı alanı serbest bırakır. VSAM veri setinin süresi dolmamışsa silinmeyecektir. Bu tür veri setlerini silmek için TEMİZLE seçeneğini kullanın.

DELETE data-set-name CLUSTER  
[ERASE / NOERASE] 
[FORCE / NOFORCE] 
[PURGE / NOPURGE] 
[SCRATCH / NOSCRATCH]

Yukarıdaki sözdizimi, Delete deyimi ile kullanabileceğimiz parametreleri göstermektedir. Her birini aşağıdaki tabloda ayrıntılı olarak tartışacağız -

Sr.No Açıklamalı Parametreler
1

ERASE / NOERASE

Katalogda nesne için belirtilen ERASE özniteliğini geçersiz kılmak için ERASE seçeneği belirtildi. NOERASE seçeneği varsayılan olarak alınır.

2

FORCE / NOFORCE

FORCE seçeneği, boş olmasa bile SPACE ve USERCATALOG'u silmek için belirtildi. NOFORCE seçeneği varsayılan olarak alınır.

3

PURGE / NOPURGE

Veri kümesinin süresi dolmamışsa, VSAM veri kümesini silmek için PURGE seçeneği kullanılır. NOPURGE seçeneği varsayılan olarak alınır.

4

SCRATCH / NOSCRATCH

SCRATCH seçeneği, nesnenin ilişkili girdisini İçindekiler Hacim Tablosundan kaldırmak için belirtilir. Esas olarak GDG'ler gibi vsam olmayan veri kümeleri için kullanılır. NOSCRATCH seçeneği varsayılan olarak alınır.

Misal

Aşağıda, JCL'de bir kümenin nasıl silineceğini gösteren temel bir örnek verilmiştir -

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DELETE MY.VSAM.KSDSFILE CLUSTER
	PURGE
/*

Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile çalışmalı ve MY.VSAM.KSDSFILE VSAM dosyasını silecektir.