Natural Global Buffer Pool under z/OS

#### Search Results

Search

# Natural Global Buffer Pool under z/OS

Dieses Kapitel beschreibt Zweck und Verwendung eines Natural Global Buffer Pool (GBP) unter dem Betriebssystem z/OS.

Folgende Themen werden behandelt:

- Verwendung eines Natural Global Buffer Pool

- Voraussetzungen

- Betrieb eines Natural Global Buffer Pool (GBP)

- GBP-Manager-Parametermodul

- GBP-Betriebsfunktionen

- Funktionsparameter des globalen Buffer Pools

- Beispiele für NATBUFFER-Angaben

- Beispiele für NATGBPvr-Ausführungsjobs

- Lokalisierung

- Meldungen

## Verwendung eines Natural Global Buffer Pool

### Zweck

Der globale Natural Global Buffer Pool ist ein Speichersegment, das aus dem z/OS Extended Common System Area (ECSA) oberhalb von 16 MB (oder, falls gewünscht, aus dem CSA-Speicher darunter) zugewiesen wird und von Natural zum Laden und Ausführen von Natural-Programmen genutzt wird.

### Vorteile

Mit einem globalen Buffer Pool teilen sich mehrere Natural-Sitzungen unter verschiedenen TP-Monitoren (mehrere Kopien von CICS, TSO, IMS TM usw.) und/oder in mehreren Batch-Sitzungen denselben Bereich. Dadurch wird weniger Speicherplatz benötigt, als für einen lokalen Buffer Pool in jeder einzelnen Umgebung erforderlich wäre.

## Voraussetzungen

Die folgenden Voraussetzungen müssen erfüllt sein, damit Sie einen globalen Buffer Pool verwenden können:

1. Das Modul `NATGBPvr` muss in eine APF-Library (Authorized Program Facility) verlinkt worden sein. Siehe den entsprechenden Schritt in Installing Natural on z/OS in der Installation for z/OS-Dokumentation.

2. Der globale Buffer Pool muss gestartet worden sein. Siehe den entsprechenden Schritt in Installing Natural on z/OS in der Installation for z/OS-Dokumentation.

## Betrieb eines Natural Global Buffer Pool (GBP)

Ein globaler Buffer Pool wird unter Verwendung des Programms `NATGBPvr` betrieben, das in einer APF-Bibliothek (Authorized Program Facility) ausgeführt werden muss.

Die folgenden Themen werden in diesem Abschnitt behandelt:

- Zuordnung des Natural GBP

- Einrichten des Natural GBP

- Starten des Natural GBP-Betriebsprogramms

- Anhalten des Natural GBP-Betriebsprogramms

Anmerkung
Im folgenden Dokument steht vrs oder vr für die jeweilige Version des Produkts. Informationen zu Produktversionen finden Sie unter Version im Glossar.

### Zuordnung des Natural GBP

Wenn der z/OS-Parameter `ALLOWUSERKEYCSA(YES)` explizit in `SYS1.PARMLIB(DIAGxx)` angegeben wurde, wird ein globaler Natural Buffer Pool im User Key zugewiesen, so dass Natural-Sitzungen, die auf einen globalen Buffer Pool zugreifen, Schreibrechte für diesen Buffer Pool haben.

Wenn `ALLOWUSERKEYCSA(NO)` wirksam ist, wird ein globaler Natural Buffer Pool im System Key zugewiesen. Dadurch haben Natural-Sitzungen, die auf einen globalen Buffer Pool zugreifen, keine Schreibberechtigung für diesen Buffer Pool. Diese Natural-Sitzungen rufen den Authorized Services Manager (ASM) auf, um alle Buffer Pool-Funktionen auszuführen. Folglich ist die Installation des ASM zwingend erforderlich. Der ASM wird nicht nur aufgerufen, um ein Natural-Objekt in den Buffer Pool zu laden, sondern auch, um den Nutzungszähler (Use Count) eines Natural-Objekts zu verwalten, wenn die Ausführung dieses Natural-Objekts gestartet oder beendet wird. Die Aufrufe an den Authorized Services Manager erhöhen den Ressourcenverbrauch von Natural. Der damit verbundene Aufwand ist schwer vorhersehbar und hängt vom Anwendungsprofil ab (Verhältnis von Programmaufrufen zur Programmausführungszeit).

### Einrichten des Natural GBP

Die vom Betriebsprogramm `NATGBPvr` bereitgestellten Funktionen werden aktiviert, indem sie

- in einer Parameterkarte (`PARM=`) angegeben werden,

- aus einer Datei gelesen werden (siehe unten),

- oder durch das Operator-Kommando `MODIFY` geliefert werden.

`NATGBPvr` erwartet das erste Kommando im Parameterfeld (`PARM=`) des `EXEC`-Statements.

Sie können Folgendes eingeben:

- eine dieser Funktionen

- oder einen Verweis auf eine Eingabedatei mit `CF=dd-name`, wobei `dd-name` für einen in der JCL definierten DD-Namen steht. Es werden nur Card Image-Dateien unterstützt, d.h. `RECFM=F,LRECL=80`, und nur die ersten 72 Bytes des Eingabedatensatzes werden beachtet. Jeder in der Eingabedatei enthaltene Satz stellt ein Kommando dar. Leere Sätze oder Sätze mit einem vorangestellten Stern (*) werden ignoriert. Eine Datei wird bis zum End-Of-File (EOF) verarbeitet.

  Beispiel: `PARM='CF=SYSIN1'`

  Wenn das Parameterfeld nicht angegeben oder leer ist, werden die Kommandos standardmäßig aus der Datei `SYSIN` gelesen.

Es ist nur möglich, jeweils eine Funktion an der Konsole oder eine Funktion pro Zeile über die Kommandodatei einzugeben, ansonsten wird eine Fehlermeldung ausgegeben.

Jedes Kommando, das von der Parameterkarte, aus der Datei oder von der Bedienerkonsole empfangen wird, wird auf der Bedienerkonsole angezeigt.

### Starten des Natural GBP-Betriebsprogramms

Um das Programm `NATGBPvr` zu starten, müssen Sie entweder eine Started Task starten oder einen Job übergeben, der `NATGBPvr` ausführt.

Wichtig
Um sicherzustellen, dass der globale Buffer Pool nach einem Systemausfall erhalten bleibt, sollte der globale Buffer Pool automatisch während des Maschinen-IPL gestartet werden.

### Anhalten des Natural GBP-Betriebsprogramms

Nachdem alle Kommandos abgearbeitet sind, wird das Programm `NATGBPvr` beendet, es sei denn, dass

- `RESIDENT=Y` angegeben wurde

- oder ein Buffer Pool mit einem Cache erstellt wurde.

`NATGBPvr` gibt einen der folgenden Condition Codes zurück:

Condition Code | Erläuterung
--- | ---
`0` | Alle Funktionen wurden erfolgreich ausgeführt.
`20` | Ein Fehler ist aufgetreten. Details siehe Meldungsprotokoll. Siehe auch den Funktionsparameter `CC` des globalen Buffer Pool.

## GBP-Manager-Parametermodul

Das GBP-Manager-Parametermodul `NATGBPRM` wird verwendet, um globale Verarbeitungsoptionen festzulegen, die für alle Funktionen und Buffer Pools gelten. Das globale Buffer Pool-Parametermodul wird in Quellcode- und Objektform ausgeliefert, wobei alle Standardwerte gesetzt sind.

Der folgende Parameter ist verfügbar:

- UCTRAN - Unterstützung von Klein-/Gemischtschreibung

### UCTRAN - Unterstützung von Klein-/Gemischtschreibung

Dieser Parameter aktiviert oder deaktiviert die Unterstützung der Klein-/ Gemischtschreibung bei den globalen Buffer Pool-Meldungen.

`UCTRAN=NO` | Die Unterstützung der Klein-/Gemischtschreibung ist vollständig aktiviert. Dies ist der Standardwert.
`UCTRAN=YES` | Alle globalen Buffer Pool-Meldungen werden in Großbuchstaben ausgegeben.

## GBP-Betriebsfunktionen

Die folgenden Funktionen sind verfügbar:

- HELP - Übersicht über die verfügbare Syntax anzeigen

- ADDCACHE - Cache für einen vorhandenen globalen Buffer Pool zuordnen

- CREATE - Globalen Buffer Pool anlegen

- DELCACHE - Cache eines globalen Buffer Pool freigeben

- FSHUT - Globalen Buffer Pool abschalten

- GLOBALS - Globale Parametereinstellungen anzeigen

- LISTCACHE - Alle globalen Buffer Pool Caches eines Jobs auflisten

- NOP - Kein Betrieb

- REFRESH - Globalen Buffer Pool neu initialisieren

- SHOWBP - Vorhandene Buffer Pools anzeigen

- TERMINATE - GBP-Betriebsprogramm beenden

- ZAPS - Auf GBP angewendete Zaps anzeigen

Anmerkung
Wenn keine Funktion angegeben ist, wird `CREATE` angenommen, wenn der Profilparameter `BPNAME` angegeben ist, ansonsten wird `NOP` angenommen.

### HELP - Übersicht über die verfügbare Syntax anzeigen

Diese Funktion gibt eine Liste der verfügbaren Syntax-Kommandos und ggf. die Standardwerte der Funktionsparameter aus.

### ADDCACHE - Cache für einen vorhandenen globalen Buffer Pool zuordnen

Mit dieser Funktion wird Cache-Speicher bei einem vorhandenen globalen Buffer Pool hinzugefügt.

### CREATE - Globalen Buffer Pool anlegen

Mit dieser Funktion wird ein globaler Buffer Pool mit den angegebenen Parametern angelegt.

### DELCACHE - Cache eines globalen Buffer Pool freigeben

Mit dieser Funktion wird der Cache-Speicher eines globalen Buffer Pool entfernt, ohne dass der Buffer Pool selbst heruntergefahren wird.

Anmerkung
Ein Datenraum-Cache kann nur von der Task gelöscht werden, der er zugehört. Ein Speicherobjekt-Cache "oberhalb der Grenze" kann von jeder Task gelöscht werden.

### FSHUT - Globalen Buffer Pool abschalten

Der globale Buffer Pool wird heruntergefahren und der Speicherbereich, einschließlich Buffer Pool- und Cache-Speicher, wird freigegeben.

Wenn sich keine aktiven Objekte im Puffer Pool befinden, wird `FSHUT` sofort ausgeführt.

Wenn sich noch aktive Objekte im Buffer Pool befinden, wird dies dem Bediener angezeigt. Je nach Einstellung des Parameters `CONFIRM` wird der Bediener aufgefordert, eine Bestätigung einzugeben, oder `FSHUT` wird sofort ausgeführt.

### GLOBALS - Globale Parametereinstellungen anzeigen

Diese Funktion zeigt alle globalen Parametereinstellungen an, d.h. Parameter, die nicht nur für das Statement gelten, für das sie angegeben wurden.

Darüber hinaus wird der Storage Key (Speicherschlüssel) des/der globalen Buffer Pool(s) angezeigt.

### LISTCACHE - Alle globalen Buffer Pool Caches eines Jobs auflisten

Diese Funktion listet alle globalen Buffer Pool Caches auf, die zurzeit zu dem Job gehören.

### NOP - Kein Betrieb

Dieser Funktionscode kann verwendet werden, um globale Parameter zu setzen. Er führt keine Buffer Pool-Operation durch.

### REFRESH - Globalen Buffer Pool neu initialisieren

Mit dem Kommando `REFRESH` können Sie einen bereits aktiven Buffer Pool neu initialisieren. Da keine Speicherzuordnung stattfindet, bleiben die Buffer Pool-Größe und der Speicherort (oberhalb oder unterhalb von 16 MB) unverändert. Es ist jedoch möglich, die Größe der Textblöcke zu ändern (siehe Parameter `NATBUFFER`).

Sie sollten diese Funktion nur benutzen, wenn das Feld Current Use Count (siehe Felder für Buffer-Pool-Objekte in Verzeichnisinformationen anzeigen) gleich Null ist (siehe Warnung unten) oder wenn der Buffer Pool zerstört wurde.

| Warnung: Wenn Sie den Buffer Pool neu initialisieren, während Natural-Objekte von aktiven Sitzungen in diesem Buffer Pool ausgeführt werden, sind die Ergebnisse der aktiven Sitzungen unvorhersehbar und Natural kann sogar abbrechen.

### SHOWBP - Vorhandene Buffer Pools anzeigen

Zeigt alle derzeit existierenden Buffer Pools an.

### TERMINATE - GBP-Betriebsprogramm beenden

Das GBP-Betriebsprogramm wird beendet. Diese Beendigung hat keine Auswirkungen auf einen aktiven globalen Buffer Pool.

### ZAPS - Auf GBP angewendete Zaps anzeigen

Zeigt alle Zaps an, die auf das globale Buffer Pool-Betriebsprogramm angewendet wurden.

## Funktionsparameter des globalen Buffer Pools

Die Funktionen des Natural-GBP-Betriebsprogramms können mit Hilfe von Parametern gesteuert werden. Diese Parameter können in beliebiger Reihenfolge angegeben werden. Sie können so abgekürzt werden, so dass sie noch eindeutig sind.

Anmerkung
Wenn Sie mehrere globale Buffer Pools mit zugehörigem Cache starten wollen, empfiehlt es sich, einen einzigen Job oder (nur unter z/OS) eine einzige Started Task zu verwenden und die verschiedenen `CREATE`-Kommandos in einem Eingabe-Dataset bereitzustellen. Siehe Beispiel 4 im Abschnitt Natural Global Buffer Pool unter z/OS.

Die folgenden Funktionsparameter sind verfügbar:

Parameter | Angabe
--- | ---
`BPNAME` | Name des globalen Buffer Pool
`BPLIST` | Name der Preload-Liste
`BPCSIZE` | Puffer Pool Cache-Größe
`C64` | Typ des Buffer Pool Cache-Speichers
`CC` | Condition Code zählen
`CONFIRM` | Bestätigung
`IDLE` | Wartezeit vor der Prüfung
`METHOD` | Suchalgorithmus für die Zuweisung von Speicherplatz im Buffer Pool
`NATBUFFER` | Puffer-Größe, Modus, Textblockgröße
`RESIDENT` | Verhalten nach Funktionsausführung
`SUBSID` | Kennung des Natural-Subsystems
`TYPE` | Typ des Buffer Pool

### BPNAME - Name of Global Buffer Pool

`BPNAME=value` ist erforderlich (außer für die Funktion `TERMINATE`). Er gibt den Namen des zu erstellenden globalen Buffer Pool an.

Wert | Erläuterung
--- | ---
8 Bytes | Der Name des globalen Buffer Pool. Anmerkung Wenn der angegebene Name kürzer als 8 Bytes ist, werden Leerzeichen angehängt.
* | Für die Funktionen `DELCACHE` und `FSHUT` können Sie einen Stern (`*`) als Wert von angeben. `FSHUT` schaltet alle Buffer Pools für die angegebenen Natural-Subsysteme ab. Wenn der Subparameter `CONFIRM` auf `Y` gesetzt ist, müssen Sie zusätzlich eine Bestätigung angeben. `DELCACHE` löscht alle, der Task zugehörigen Datenraum-Caches, aus dem angegebenen Natural-Subsystem. Um Caches zu löschen, die sich im Speicher "oberhalb der Grenze" befinden, müssen Sie auch einen vollständigen `BPNAME` und eine `SUBSID` angeben.

### BPLIST - Name of Preload List

`BPLIST=value` gibt den Namen der Preload-Liste an.

Wert | Erläuterung
--- | ---
8 Bytes | Der Name der Preload-Liste. Anmerkung Wenn der angegebene Name kürzer als 8 Bytes ist, werden Leerzeichen angehängt.

### BPCSIZE - Buffer Pool Cache-Größe

`BPCSIZE=value` gibt die Speichermenge an, die für die Zuordnung eines Buffer Pool Cache verwendet wird.

Wert | Erläuterung
--- | ---
`100 - 2097148` | Wenn der Subparameter `C64=N` ist, ist dieser Wert die Menge des zugewiesenen Speichers (in KB) für einen Datenbereich für den Puffer Pool Cache. Der angegebene Wert wird auf die nächste 4-KB-Grenze gerundet.
`100 - 58720256` (max `57344` MB) | Wenn der Subparameter `C64=Y` ist, ist dieser Wert die Menge des zugeordneten Speichers (in KB) für ein Speicherobjekt "oberhalb der Grenze" für den Buffer Pool Cache. Der angegebene Wert wird auf die nächste 1-MB-Grenze gerundet.

Anmerkungen:

1. Die Cache-Größe kann auch in Einheiten von MB oder GB angegeben werden, z. B. durch Angabe von 10M für 10 MB.
2. Wird der Parameter `BPCSIZE` weggelassen (oder auf Null gesetzt), dann wird der Buffer Pool nicht mit einem Cache versorgt.
3. Ein Cache wird nur für Buffer Pools mit `TYPE=NAT` unterstützt.
4. Der Subparameter `C64` entscheidet, ob der Cache im Datenbereich oder im gemeinsamen 64-Bit-Speicher "oberhalb der Grenze" angelegt wird.

### C64 - Type of Buffer Pool Cache Storage

`C64=value` bestimmt den Typ des Speichers für den Buffer Pool Cache. Die folgenden Werte sind möglich:

Wert | Erläuterung
--- | ---
`Y` | Der Speicher für den Buffer Pool Cache ist ein "oberhalb der Grenze" liegendes Speicherobjekt (im 64-Bit-Speicher).
`N` | Der Speicher für den Buffer Pool Cache ist ein Datenbereich. Dies ist der Standardwert.

Anmerkung
Dieser Parameter ist nur anwendbar, wenn `BPCSIZE` angegeben ist.

### CC - Condition Code zählen

`CC=value` legt fest, ob ein Condition Code ignoriert wird, wenn er von einem vom globalen Puffer Pool Manager ausgeführten Kommando zurückgegeben wird.

Wert | Erläuterung
--- | ---
`Y` | Der nach der Kommandoausführung zurückgegebene Condition Code wird für den Condition Code des `NATGBPvr`-Jobs gezählt. Dies ist der Standardwert. Dies ist der Standardwert.
`N` | Der nach der Kommandoausführung zurückgegebene Condition Code wird ignoriert. Dies kann zu einem Job Response Code von Null führen, obwohl die Ausführung des Kommandos fehlgeschlagen ist.

Anmerkung
Dieser Parameter ist für alle Kommandos gültig.

Beispiel für die Kommandoausführung:

Der globale Buffer Pool `QA82GBP` wird mit der folgenden Kommandofolge angehalten und neu gestartet:

    FSHUT  BPN=QA82GBP,S=QA82,CONFIRM=N,CC=N
    CREATE BPN=QA82GBP,S=QA82,N=(1024),M=S,BPC=4096,I=60

Das Kommando `FSHUT` gibt normalerweise den Condition Code 20 zurück, wenn es ausgeführt wird und der Buffer Pool nicht aktiv ist. Wenn jedoch `CC=N` gesetzt ist, wird jeder Condition Code ignoriert. In diesem Fall wird nur dann ein Job Response Code größer als Null zurückgegeben, wenn das folgende `CREATE`-Kommando fehlschlägt.

### CONFIRM - FSHUT-Bestätigung

`CONFIRM=value` steuert das `FSHUT`-Verhalten, wenn sich noch aktive Objekte im Buffer Pool befinden.

Wert | Erläuterung
--- | ---
`Y` | Eine Bestätigung für die `FSHUT`-Funktion ist vom Bediener erforderlich. Der Bediener kann entscheiden, ob er die `FSHUT`-Funktion abbrechen oder erzwingen möchte. Dies ist der Standardwert.
`N` | `FSHUT` wird ohne Bediener-Interaktion erzwungen.

Anmerkung
Dieser Parameter ist nur für das `FSHUT`-Kommando gültig, mit dem er angegeben wurde, d. h. CONFIRM muss mit jedem FSHUT-Parameter angegeben werden, und er gilt nicht für nachfolgende `FSHUT`-Kommandos.

### IDLE - Wartezeit vor der Prüfung

`IDLE=value` wird ignoriert, wenn die Task keinen Buffer Pool Cache besitzt.

Wert | Erläuterung
--- | ---
Numerisch | Die Anzahl der Sekunden, die vergehen, bevor das GBP-Betriebsprogramm für jeden Buffer Pool Cache prüft, ob der zugehörige Buffer Pool noch aktiv ist. Wenn nicht, wird dieser Buffer Pool Cache freigegeben. Wenn der letzte Buffer Pool Cache, der der Task gehört, freigegeben wurde, wird die Task beendet, es sei denn, es wurde `RESIDENT=Y` angegeben.
`60` | Dies ist der Standardwert.

Anmerkungen:

1. `IDLE` ist ein "globaler" Parameter. Einmal angegeben, gilt `IDLE` auch für nachfolgende Kommandos, ohne dass Sie ihn erneut angeben müssen.
2. Unter z/OS prüft das GBP-Betriebsprogramm den angegebenen `IDLE`-Zeitwert auch mit dem Timeout-Wert des Jobs: Der angegebene `IDLE`-Zeitwert kann `IDLE` intern reduzieren, um Timeout-Abbrüche zu verhindern (S322).

### METHOD - Suchalgorithmus für die Zuweisung von Speicherplatz im Buffer Pool

`METHOD=value` steuert, welcher Algorithmus für die Zuordnung von Speicherplatz im Natural Buffer Pool verwendet werden soll.

Wert | Erläuterung
--- | ---
`N` | Gibt an, dass der nächste verfügbare ungenutzte oder freie Platz verwendet werden soll. Die Suche nach dem nächsten freien Speicherplatz erfolgt anhand eines Zeigers auf Verzeichniseinträge, der sich in einem Umlaufverfahren (Wrap-around) bewegt. Diese Methode kann in Kombination mit einem Buffer Pool Cache verwendet werden. Dies ist der Standardwert.
`S` | Gibt an, dass ein Auswahlverfahren für die Zuordnung von Speicherplatz verwendet werden soll. Das Auswahlverfahren besteht aus dem Durchsuchen des gesamten Buffer Pool-Verzeichnisses und dem Vergleichen verschiedener Einträge, um den am besten geeigneten Eintrag zu finden. Diese Methode war früher als "Algorithmus 1+2" bekannt.

Anmerkung
Dieser Parameter ist nur für die Funktion `CREATE` gültig. Wenn Sie die Zuordnungsmethode ändern möchten, starten Sie den Buffer Pool neu.

### NATBUFFER - Buffer-Größe, Modus, Textblockgröße

`NATBUFFER=(size,mode,tsize)` gibt die Größe und den Modus des Buffer Pool und die Textblockgröße an.

Syntax | Wert | Erläuterung
--- | --- | ---
`NATBUFFER=(size,mode,tsize)` | `size` | ist die Menge des zuzuordnenden Speichers (in KB). Für den Natural Buffer Pool (`TYPE=NAT`) beträgt die Standardeinstellung und minimal mögliche Größe 256 KB. Für die anderen Buffer Pools beträgt die Standardgröße und die kleinstmögliche Größe 100 KB. Die angegebene Speichermenge wird immer auf ein Vielfaches von 4 KB aufgerundet. Die Pool-Größe kann auch in Einheiten von MB oder GB angegeben werden, z. B. durch Angabe von 10M für 10 MB. Neben dem durch die Größe (size) angegebenen Speicherplatz wird eine Seite (4 KB) schreibgeschützter Speicher für Verwaltungszwecke zugeordnet.
`mode` | bestimmt, ob der globale Buffer Pool oberhalb oder unterhalb 16 MB zugewiesen werden soll. Mögliche Werte sind: `XA` = oberhalb (Standard), `BL` = unterhalb.
`tsize` | bestimmt die Textblockgröße (in KB). Mögliche Werte sind: `1`, `2`, `4`, `8`, `12` und `16`. Der Standardwert ist `4`.
size, mode und tsize müssen in der oben gezeigten Reihenfolge angegeben werden.

Anmerkung
Wenn `NATBUFFER` nicht angegeben wird, werden die Standardwerte verwendet. Siehe auch Beispiele für NATBUFFER-Angaben.

### RESIDENT - Verhalten nach Funktionsausführung

`RESIDENT=value` gibt das Verhalten des GBP-Betriebsprogramms nach der Ausführung der angegebenen Funktion an. Die folgenden Werte sind möglich:

Wert | Erläuterung
--- | ---
`Y` | Das GBP-Betriebsprogramm bleibt nach dem Ausführen der angegebenen Funktion aktiv und wartet auf weitere Kommandos. Einmal festgelegt, gilt `RESIDENT=Y` auch für nachfolgende Kommandos, ohne dass Sie es erneut angeben müssen. (Um das GBP-Betriebsprogramm zu beenden, müssen Sie die Funktion `TERMINATE` benutzen.)
`N` | Das GBP-Betriebsprogramm wird nach der Ausführung der angegebenen Funktion beendet, wenn kein weiteres Kommando verfügbar ist. Wenn die Task einen Buffer Pool Cache besitzt, wird `RESIDENT=N` ignoriert und die Task wird nicht beendet.
`A` | Das GBP-Betriebsprogramm entscheidet automatisch, wie es sich nach Abarbeitung aller Kommandos verhalten soll. Es wird beendet, wenn kein weiteres Kommando verfügbar ist und kein Buffer Pool mit einem zugehörigen Cache existiert, der von dieser Task angelegt wurde. Mit anderen Worten: Wenn die Task keinen Buffer Pool Cache besitzt, funktioniert `RESIDENT=A` genauso wie `RESIDENT=N`. Wenn die Task einen Buffer Pool Cache besitzt, funktioniert `RESIDENT=A` genauso wie `RESIDENT=Y`, schaltet aber automatisch auf `RESIDENT=N` um, wenn der letzte Buffer Pool, dessen zugehöriger Buffer Pool Cache im Besitz dieser Task war, beendet wurde. Dies ist die Standardeinstellung.

Anmerkung
`RESIDENT` ist ein "globaler" Parameter. Einmal angegeben, gilt `RESIDENT` auch für nachfolgende Kommandos, bis er ausdrücklich angegeben/überschrieben wird.

### SUBSID - Kennung des Natural-Subsystems

`SUBSID=value` gibt die Kennung (ID) des Natural-Subsystems an.

Wert | Erläuterung
--- | ---
4 bytes | Die 4-Byte-ID des Natural-Subsystems. Einmal angegeben, gilt `SUBSID` auch für nachfolgende Kommandos, ohne dass Sie sie erneut angeben müssen. Der Standardwert ist `NATv`, wobei `v` die erste Ziffer der aktuellen Natural-Version ist.
`NATv` | Dies ist der Standardwert. `v` ist die erste Ziffer der aktuellen Natural-Version.

Anmerkungen:

1. `SUBSID` ist ein "globaler" Parameter, d.h. einmal angegeben, gilt `SUBSID` auch für nachfolgende Kommandos, bis er ausdrücklich angegeben/überschrieben wird.
2. Für die Funktionen `DELCACHE`, `FSHUT` und `SHOWBP` können Sie `SUBSID=*` angeben, um, unabhängig vom Subsystem, einen bestimmten Buffer Pool zu verarbeiten. Alternativ können Sie `BPNAME=*` angeben, um alle Buffer Pools aus allen Subsystemen zu verarbeiten. In diesem Fall fordert die Funktion `FSHUT` eine zusätzliche Bestätigung an, und zwar unabhängig vom Wert des Subparameters `CONFIRM`.
3. Weitere Informationen über das Natural-Subsystem finden Sie unter Natural-Subsystem (z/OS).

### TYPE - Typ des Buffer Pool

`TYPE=value` gibt den Typ des Puffer Pool an. Mögliche Werte sind:

Wert | Erläuterung
--- | ---
`NAT` | Natural Buffer Pool (dies ist der Standardwert).
`SORT` | Sortier-Buffer Pool.
`EDIT` | Editor Buffer Pool.
`MON` | Monitor Buffer Pool.
`RNM` | Natural Review Buffer Pool.

## Beispiele für NATBUFFER-Angaben

The following examples refer to the `NATBUFFER` parameter which is used to set buffer size, mode and text block size, the parameter name being abbreviated (`N`).

Die folgenden Beispiele beziehen sich auf den Parameter `NATBUFFER`, mit dem die Buffer-Größe, der Modus und die Textblockgröße eingestellt werden können, wobei der Parametername in seiner Kurzform (`N`) angegeben wird.

Beispiel 1: Um einen globalen Buffer Pool oberhalb 16 MB mit einer Größe von 1 MB und einer Textblockgröße von 1 KB zuzuordnen, geben Sie an:

    N=(1000,,1)

oder

    N=(1M,,1)

Beispiel 2: Um einen globalen Buffer Pool oberhalb 16 MB mit einer Größe von 10 MB und einer Textblockgröße von 4 KB zuzuordnen, geben Sie an:

    N=(10000)

oder

    N=(10M)

Beispiel 3: Um einen globalen Buffer Pool oberhalb 16 MB mit einer Größe von 256 KB und einer Textblockgröße von 4 KB zuzuordnen, geben Sie an:

    N=(,,)

Dies ist gleichbedeutend mit dem Weglassen des `NATBUFFER`-Parameters, da dann die Standardwerte gelten.

## Beispiele für NATGBPvr-Ausführungsjobs

Die folgenden Abschnitte zeigen Beispiele für Batch-Jobs zur Erstellung und Beendigung eines globalen Buffer Pool.

In the following examples, the notation vrs or vr represents the relevant product version. For information on product versions, see Version in the Glossary.

In den folgenden Beispielen steht die Schreibweise vrs oder vr für die jeweilige Produktversion. Informationen zu Produktversionen finden Sie unter Version im Glossar.

### Beispiel 1:

    //GBPSTART JOB
    //*
    //* Starts a global buffer pool with the name NATvrGBP, a size of 1 MB and
    //* a text block size of 4 KB. The global buffer pool is allocated above 16 MB.
    //* The subsystem used is NATv.
    //* After the allocation, the job GBPSTART terminates.
    //*
    //STEP EXEC PGM=NATGBPvr,PARM='BPN=NATvrGBP,N=(1M)'
    //SETPLIB DD DISP=SHR,DSN=USER.APF.LINKLIB

### Beispiel 2:

    //GBPRES JOB
    //*
    //* Starts a global buffer pool with the name GBP, a default size of
    //* 100 KB and a text block size of 1 KB. The global buffer pool is allocated
    //* below 16 MB. The subsystem used is SAGS.
    //* After the allocation, the job GBPRES will wait for further commands.
    //* Further commands may be entered using the MODIFY operator command:
    //* F GBPRES,command-string
    //*
    //STEP EXEC PGM=NATGBPvr,PARM='BPN=GBP,N=(,BL,1),S=SAGS,R=Y'

### Beispiel 3:

    //GBPSTOP
    //*
    //* Stops the global buffer pool GPB if it contains no active objects. If it
    //* does contain active objects, the operator console will prompt for a reply.
    //* Depending on the reply, the shutdown will be forced (Y) or aborted (N).
    //* The subsystem used is NATv.
    //*
    //STEP EXEC PGM=NATGBPvr,PARM='FSHUT,BPN=GPB'

### Beispiel 4:

    //GBPSTRT2
    //* Read commands from SYSIN1:
    //*
    //* Start two global buffer pools (subsystem ID Nvrs) with names
    //*   NATGBP1 - size=1024KB and a cache with size 2048KB, and
    //*   NATGBP2 - size=2048KB without cache.
    //* Display all buffer pools of subsystem ID Nvrs.
    //*
    //* Note: The job does not terminate by itself, but stays resident and waits
    //*       for operator commands because it owns the data space allocated for
    //*       buffer pool NATGBP1.
    //*
    //* To shut down the buffer pools, send the operator command MODIFY with
    //* parameter CF=SYSIN2 to execute the corresponding FSHUTs.
    //*
    //STEP EXEC PGM=NATGBPvr,PARM='CF=SYSIN1'
    //SYSIN1  DD *
    CREATE,BPN=NATGBP1,S=Nvrs,N=(1M),BPC=2M
    CREATE,BPN=NATGBP2,S=Nvrs,N=(2M)
    SHOWBP S=Nvrs
    //SYSIN2 DD *
    FSHUT,BPN=NATGBP1,S=Nvrs
    FSHUT,BPN=NATGBP2,S=Nvrs
    SHOWBP S=Nvrs
    //*

## Lokalisierung

Das Modul `NATGBPTX` wird als Quellcode ausgeliefert. Es enthält alle Fehlermeldungen in Englisch in gemischter Schreibweise. Die Meldungen können bei Bedarf in andere Sprachen übersetzt werden. In diesem Fall muss das "neue" Quellcode-Modul `NATGBPTX` assembliert und das Modul `NATGBPvr` neu verlinkt werden.

Um die globalen Buffer Pool-Meldungen einschließlich ihrer variablen Teile in Großbuchstaben auszugeben, muss das globale Buffer Pool-Parametermodul `NATGBPRM` mit dem UCTRAN-Parameter auf `YES` gesetzt und das Modul `NATGBPvr` muss neu verlinkt werden.

Um das Modul `NATGBPvr` neu zu verlinken, müssen Sie die folgende JCL verwenden:

    //SYSLIN  DD *
    SETCODE AC(1)
    SETOPT PARM(REUS=RENT)
    INCLUDE NATLIB(NATGBPMG)
    INCLUDE SMALIB(NATGBPRM)
    INCLUDE SMALIB(NATGBPTX)
    INCLUDE NATLIB(NATBPMGR)
    NAME NATGBPvr(R)
    /*

## Meldungen

Siehe Natural Global Buffer Pool Manager Messages in der Natural Messages and Codes-Dokumentation

### On this page

- Verwendung eines Natural Global Buffer Pool
- Voraussetzungen
- Betrieb eines Natural Global Buffer Pool (GBP)
- GBP-Manager-Parametermodul
- GBP-Betriebsfunktionen
- Funktionsparameter des globalen Buffer Pools
- Beispiele für NATBUFFER-Angaben
- Beispiele für NATGBPvr-Ausführungsjobs
- Lokalisierung
- Meldungen