GDGs - Generation Data Groups
GDGs werden oft zur automatischen Verwaltung von Dateigenerationen, z.B. bei Sicherungskopien genutzt. Das Storage-Management verwaltet dann automatisch eine gewisse Anzahl an "Generationen", wobei je nach Definition eine gewisse Anzahl verwaltet wird oder ein Mindestalter erreicht sein muss. Dann wird die jeweils älteste Datei gelöscht.Die Syntax:
DEFINE GENERATIONDATAGROUP
( NAME('name')
EMPTY | NOEMPTY
SCRATCH | NOSCRATCH
OWNER('eigentuemer')
TO('datum') | FOR('tage')
LIMIT('anzahl') )
CATALOG('CATNAME/PASSWORD')
Erforderlich: GENERATIONDATAGROUP oder GDG, NAME
DEFAULTS: NOEMPTY, NOSCRATCH
Abkürzungen:
GENERATIONDATAGROUP GDG
NOEMPTY NEMP
NOSCRATCH NSCR
- Parameter:
- GENERATIONDATAGROUP
- Zur Unterscheidung von anderen VSAM-Typen
- NAME('name' )
- - Name der GENERATION DATA GROUP
- EMPTY
- - Wenn das Limit des GDGs erreicht wird, werden alle Dateien dekatalogisiert
- NOEMPTY
- - Wenn das Limit des GDGs erreicht wird, wird die älteste Datei dekatalogisiert
- SCRATCH
- - Die Datei wird beim dekatalogisieren auch vom VTOC der Harddisk gelöscht
- NOSCRATCH
- - Die Datei wird nicht vom VTOC gelöscht, wenn sie dekatalogisiert wird
- OWNER('OWNERID' )
- - Eigentümer der Datei (veraltet, sollte nicht mehr genutzt werden, statt dessen RACF oder ACF2)
- TO('datum' )
- - Ist das Limit des GDGs erreicht, wird die älteste Datei noch nicht gelöscht (dekatalogisiert), wenn das Datum noch nicht erreicht wurde
- FOR('tage' )
- - Ist das Limit des GDGs erreicht, wird die älteste Datei noch nicht gelöscht (dekatalogisiert), wenn diese nicht wenigsten 'tage' Tage alt ist
- LIMIT('anzahl' )
- - Anzahl der Dateien, die mit dem GDG assoziiert sind
- CATALOG('CATNAME/PASSWORD' )
- - nur wenn nicht mit SMS gearbeitet werden soll
Beispiel:
Anlegen eines Standard-GDGs für fünf Sicherheitskopien, jede mindestens 35 Tage alt:
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE GDG (NAME('DB2.FULLCOPY.DSNDB04.TSTEST') LIMIT(5) SCRATCH FOR(35))
/*
Es können fünf Sicherheitskopien angelegt werden. Sollte die sechste Datei angelegt werden, wird die älteste gelöscht. Sie wird nicht
gelöscht, wenn sie nicht wenigstens 35 Tage alt ist. Es können also mehr als fünf Dateien dem GDG zugeordnet werden.Achtung:
Die Dateiallokation zu Beginn eines Jobs löscht bereits die älteste Generation. Ohne die FOR-Klausel kann ein fünfmaliges Submitten eines fehlerhaften Jobs bereits alle Sicherheitskopien löschen, ohne dass eine neue Kopie angelegt wurde!
Beispiel
Ändern eines GDGs, Erhöhen des Limits://IDCAMS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * ALTER 'DB2.FULLCOPY.DSNDB04.TSTEST' LIMIT(10) /*Diese Anweisung ändert ein bestehendes GDG und ändert die Anzahl der Dateien, die erhalten bleiben. Dabei bleiben bestehende Dateien erhalten.