VSAM - Cluster

Il cluster VSAM è definito in JCL. JCL utilizzaIDCAMSutilità per creare un cluster. IDCAMS è un'utilità, sviluppata da IBM, per i servizi del metodo di accesso. Viene utilizzato principalmente per definire i set di dati VSAM.

Definizione di un cluster

La sintassi seguente mostra i parametri principali raggruppati in Define Cluster, Data e 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]))

I parametri a livello di CLUSTER si applicano all'intero cluster. I parametri a livello DATI o INDICE si applicano solo al componente dati o indice.

Discuteremo ogni parametro in dettaglio nella seguente tabella:

Suor n Parametri con descrizione
1

DEFINE CLUSTER

Il comando Define Cluster viene utilizzato per definire un cluster e specificare gli attributi dei parametri per il cluster e i suoi componenti.

2

NAME

NAME specifica il nome del file VSAM per il quale stiamo definendo il cluster.

3

BLOCKS

Blocchi specifica il numero di blocchi assegnati per il cluster.

4

VOLUMES

Volumes specifica uno o più volumi che conterranno il cluster o il componente.

5

INDEXED / NONINDEXED / NUMBERED / LINEAR

Questo parametro può assumere tre valori INDEXED, NONINDEXED o NUMBERED a seconda del tipo di dataset che stiamo creando. Per i file con sequenza di tasti (KSDS) viene utilizzata l'opzione INDEXED. Per i file in sequenza di immissione (ESDS) viene utilizzata l'opzione NONINDEXED. Per i file relativi ai record (RRDS) è richiesta l'opzione NUMERATA. Per i file Lineari (LDS) è richiesta l'opzione LINEARE. Il valore predefinito di questo parametro è INDICE. Discuteremo di più su KSDS, ESDS, RRDS e LDS nei prossimi moduli.

6

RECSZ

Il parametro Dimensione record ha due valori che sono Dimensione record media e Massima. La media specifica la lunghezza media dei record logici nel file e il massimo indica la lunghezza dei record.

7

FREESPACE

Freespace specifica la percentuale di spazio libero da riservare per gli intervalli di controllo (CI) e le aree di controllo (CA) del componente dati. Il valore predefinito di questo parametro è zero percentuale.

8

CISZ

CISZ è noto come dimensione dell'intervallo di controllo. Specifica la dimensione degli intervalli di controllo.

9

KEYS

Il parametro Keys è definito solo nei file KSDS (key-sequencing). Specifica la lunghezza e l'offset della chiave primaria dalla prima colonna. L'intervallo di valori di questo parametro va da 1 a 255 byte.

10

READPW

Il valore nel parametro READPW specifica la password del livello di lettura.

11

FOR/TO

Il valore di questo parametro specifica la quantità di tempo in termini di data e giorni per la conservazione del file. Il valore predefinito per questo parametro è zero giorni.

12

UPDATEPW

Il valore nel parametro UPDATEPW specifica la password del livello di aggiornamento.

13

REUSE / NOREUSE

Il parametro REUSE consente di definire cluster che possono essere reimpostati allo stato vuoto senza eliminarli e ridefinirli.

14

DATA - NAME

La parte DATA del cluster contiene il nome del set di dati che contiene i dati effettivi del file.

15

INDEX-NAME

La parte INDICE del cluster contiene la chiave primaria e il puntatore di memoria per il record corrispondente nella parte dati. Viene definito quando viene utilizzato un cluster con sequenze di chiavi.

16

CATALOG

Il parametro del catalogo indica il catalogo in cui verrà definito il file. Discuteremo del catalogo separatamente nei prossimi moduli.

Esempio

Di seguito è riportato un esempio di base per mostrare come definire un cluster in JCL:

//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))
/*

Se eseguirai il JCL sopra sul server Mainframes. Dovrebbe essere eseguito con MAXCC = 0 e creerà il file MY.VSAM.KSDSFILE VSAM.

Eliminazione di un cluster

Per eliminare un file VSAM, il cluster VSAM deve essere eliminato utilizzando l'utilità IDCAMS. Il comando DELETE rimuove la voce del cluster VSAM dal catalogo e opzionalmente rimuove il file, liberando così lo spazio occupato dall'oggetto. Se il set di dati VSAM non è scaduto, non verrà eliminato. Per eliminare questi tipi di set di dati utilizzare l'opzione PURGE.

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

La sintassi sopra mostra i parametri che possiamo usare con l'istruzione Delete. Discuteremo ciascuno di essi in dettaglio nella tabella seguente:

Suor n Parametri con descrizione
1

ERASE / NOERASE

L'opzione ERASE è specificata per sovrascrivere l'attributo ERASE specificato per l'oggetto nel catalogo. L'opzione NOERASE è utilizzata per impostazione predefinita.

2

FORCE / NOFORCE

L'opzione FORCE è specificata per eliminare SPACE e USERCATALOG anche se non sono vuoti. L'opzione NOFORCE è utilizzata per impostazione predefinita.

3

PURGE / NOPURGE

L'opzione PURGE viene utilizzata per eliminare il set di dati VSAM se il set di dati non è scaduto. L'opzione NOPURGE è utilizzata per impostazione predefinita.

4

SCRATCH / NOSCRATCH

L'opzione SCRATCH è specificata per rimuovere la voce associata per l'oggetto dal sommario del volume. Viene utilizzato principalmente per set di dati non vsam come i GDG. L'opzione NOSCRATCH è quella predefinita.

Esempio

Di seguito è riportato un esempio di base per mostrare come eliminare un cluster in JCL:

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

Se eseguirai il JCL sopra sul server Mainframes. Dovrebbe essere eseguito con MAXCC = 0 e cancellerà il file MY.VSAM.KSDSFILE VSAM.