Ingo Federenko

IF Informatik

Ihr Berater für die Informatik.

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.
Die Syntax und die Beispiele sind u.U. unvollständig oder fehlerhaft. Nutzen Sie stets die original IBM-Unterlagen. Keine Gewährleistung. Keine Haftung.
Letzte Änderung: