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.