Betrieb des Natural Roll Server

Dieses Kapitel behandelt die folgenden Themen:

Siehe auch Natural Roll Server-Funktionen.


Roll Server-Systemanforderungen

In diesem Abschnitt werden die Systemerfordernisse für den Roll-Server beschrieben.

APF-Autorisierung

Verlinken Sie das Modul NATRSMvr (vr steht für die entsprechende Produktversion) mit einer APF-Library, indem Sie den IEWL-Parameter AC(1) angeben. Siehe Natural auf z/OS installieren.

System Linkage Index

Da der Roll Server einen System Linkage Index (System LX) reserviert, müssen Sie überprüfen, ob der Wert von NSYSLX im Member IEASYSxx der Library SYS1.PARMLIB hoch genug ist.

Wenn der Roll Server beendet wird, ist seine Adressraumkennung (ID) nicht mehr verfügbar, da ein System LX verwendet wurde. Die Kennung wird mit dem nächsten IPL wieder verfügbar.

Sobald ein System LX reserviert wurde, wird er bei jedem Neustart des Roll Server bis zum nächsten IPL wieder verwendet.

Virtueller Speicher

Speicher Größe
ECSA 84 Bytes
Privater Programmspeicher 30 KB oberhalb *
Fester Subpool-Speicher (inkl. ELSQA): 10 KB unterhalb, 50 KB oberhalb *
LRB directory 32+(64*Anzahl der LRB Slots)
100 Slots pro Roll File 4 KB oberhalb *
Jedes weitere Roll File 30 KB oberhalb *
Arbeitsspeicher je nach Auslastung, ca. 1 MB oberhalb *

* unterhalb bzw. oberhalb der Grenze

CF-Struktur (Roll Server)

Eine CF-Struktur wird verwendet, um das Roll File Directory in einer z/OS-Parallel-Sysplex-Umgebung zu führen.

Die Größe einer CF-Struktur kann mit dem IBM-System z Coupling Facility Structure Sizer Tool (CFSizer Utility) berechnet werden, das Sie hier finden:

https://www.ibm.com/support/pages/cfsizer

Sie müssen in der Auswahlbox, dort wo Choose one steht, XCF wählen.

Es wird ein neues Fenster angezeigt, das beispielsweise vorbelegt ist mit

Number of systems 8 und CLASSLEN 956

(= 936 + 20 -> CONA + CONALOCKATTR).

Siehe Makro IXLYCONA bezüglich dieser Größen:

01 SIZE:                                 
*            CONA          -- X'03A8' bytes = 936
*            CONALOCKATTR  -- X'0014' bytes =  20
*            CONALISTATTR  -- X'0028' bytes =  40
*            CONACACHEATTR -- X'001C' bytes =  28

Der Roll Server verwendet nur CONA = 936 bytes.

Wenn Sie Number of systems = n (LPARs) auswählen und auf Submit drücken, erhalten Sie beispielsweise bei 5 LPARs mit 936 Bytes:

Function Type Structure Name INITSIZE SIZE
XCF LIST IXC...... 18M 19M

Danach folgt eine Reihe von Zeilen mit JCL.

XCF-Signalisierungspfade

In einer z/OS-Parallel-Sysplex-Umgebung kommunizieren die Roll Server über die XCF Signaling Services. Als Standard-XCF-Gruppenname werden die ganz linken acht Bytes des CF-Strukturnamens verwendet.

Wenn Sie einen eigenen XCF-Gruppennamen angeben möchten, sollten Sie den User Exit NATRSU24 verwenden. Weitere Informationen zu diesem User Exit finden Sie unter User Exit NATRSU24.

Roll File formatieren

Um das Roll File zu formatieren, gehen Sie wie folgt vor:

  1. Legen Sie es als physischen, sequenziellen Dataset mit einem festen Dataset-Format an.

  2. Formatieren Sie es unter Verwendung des Moduls NATRSRFI.

  3. Wenn der Roll Server in einer z/OS-Parallel-Sysplex-Umgebung ausgeführt wird, setzen Sie die Struktur der Coupling Facility zurück, wie in Hinweise zum Formatieren oder Zurücksetzen von Roll Files beschrieben.

Bei der Formatierung wird das Role File in das BDAM-Format mit einer geräteabhängigen Blockgröße konvertiert.

Anmerkung
Wenn Sie ein bestehendes Roll File einer früheren Version verwenden wollen, genügt es, die Funktion NATRSRFI RESET auszuführen.

Zum Formatieren geben Sie die folgende Parameterfolge unter dem DD-Namen RFIPARMS oder als PARM im JCL EXEC-Statement ein:

function,dd-name,slot-size,number-of-slots

Alle Parameter sind positionsgebunden; sie werden in der nachstehenden Tabelle erläutert:

Parameter Beschreibung
function FORMAT Formatiert das Roll File.
RESET Alle Roll File-Slots werden zurückgesetzt (als frei markiert). Sie können diesen Parameterwert nur verwenden, wenn das Role File bereits formatiert wurde.

Der einzige andere zulässige Parameter ist dd-name.

LIST Druckt eine Liste der in dem Roll File enthaltenen Session-IDs und ihrer letzten Aktivität.

Der einzige andere zulässige Parameter ist dd-name.

dd-name Der Name des DD-Statement, unter dem das Roll File angegeben wurde.
slot-size Die Größe eines Roll File-Slots in Bytes. Diese Größe wird auf das nächsthöhere Vielfache der verwendeten Blockgröße gerundet.

Es wird empfohlen, zunächst eine Slot-Größe zu verwenden, die der Größe des Natural Threads entspricht. Schauen Sie sich dann die Statistiken des Roll Servers an. Sie zeigen auch die größte Ausprägung einer Thread-Größe an. Verwenden Sie diesen Wert, um die Slot-Größe ggf. zu verringern.

number-of-slots Die Anzahl der zuzuordnenden Roll File Slots. Diese Zahl ist die maximale Anzahl der gleichzeitig aktiven Benutzer.

Dieser Parameter ist optional. Wird er weggelassen, wird das gesamte Roll File so wie zugeordnet formatiert.

Beachten Sie, dass während der Formatierung der Systemabbruchcode SB37 oder SD37 (oder S209 für eine VSAM-Datei) auftreten kann. Dieser Abbruch wird von der Formatierungsroutine abgefangen und kann ignoriert werden.

Zur Berechnung des erforderlichen Plattenplatzes in Zylindern für ein Roll File (Parameter SPACE des DD-Statements) können Sie die folgende Formel verwenden:

number-of-cylinders = ceiling (number-of-slots * slot-size / (30*block-size))

Anzahl der Zylinder = Obergrenze (Anzahl der Slots * Slot-Größe / (30*Blockgröße))

oder in Spuren

number-of-tracks = ceiling (number-of-slots * slot-size / (2*block-size))

Anzahl der Spuren = Obergrenze (Anzahl der Slots * Slot-Größe / (2*Blockgröße))

Die verwendete Blockgröße ist:

23476 für 3380 DASD

27998 für 3390 DASD

22928 für 9345 DASD

Darüber hinaus wird Platz für den Kopf des Roll File-Verzeichnisses (40 Byte) und einen Verzeichniseintrag für jeden Roll File-Slot (24 Byte) benötigt. Somit wird ein zusätzlicher Block für etwa 976 Slots auf 3380, 1164 Slots auf 3390 oder 953 Slots auf 9345 DASD benötigt.

NATRSRFI-Ausgabe

Wenn ein DD-Statement mit ddname RFIPRINT angegeben ist, leitet NATRSRFI seine Ausgabe an diesen Dataset. Wird RFIPRINT weggelassen, so wird die Ausgabe unter Verwendung des WTO-Makros (ROUTDCE=11) in JESMSGLG geschrieben. Beachten Sie, dass RFIPRINT für die Funktion LIST angegeben werden muss.

NATRSRFI Condition Codes und Abend Codes:

Die folgenden Condition Codes werden verwendet:

Code Erläuterung
0 Normale Beendigung.
4 Anzahl der formatierten Slots ist geringer als angefordert.
20 Parameterfehler.

Die folgenden User Abend Codes werden verwendet:

Abend Code Ursache
U0100 Öffnen bei RFIPARMS oder RFIPRINT fehlgeschlagen.
U0101 Öffnen bei Roll. File fehlgeschlagen.

Beispiele:

In den folgenden Beispielen steht vr oder vrs für die jeweilige Produktversion.

Beispiel 1:

//FBRUNRFI JOB  (FB,218),FB,CLASS=K,MSGCLASS=X,NOTIFY=FB                        
//FORMAT   EXEC PGM=NATRSRFI                                                    
//STEPLIB  DD  DISP=SHR,DSN=NATURAL.NATvr.LOAD                                  
//RF1      DD  DISP=SHR,DSN=FB.SYSF.ROLLF1                                      
//RF2      DD  DISP=SHR,DSN=FB.SYSF.ROLLF2                                      
//RFIPARMS DD  *                                                                
FORMAT,RF1,200000,1000                                                          
FORMAT,RF2,200000

Auszug aus dem daraus resultierenden JESMSGLG:

+FBRUNRFI: FORMAT,RF1,200000,1000
+FBRUNRFI: RF1: FB.SYSF.ROLLF1
+FBRUNRFI:      Creation date: 2001/06/13 Volume: ADA002(3390)
IEC031I D37-04,IFG0554P,FBRUNRFI,FORMAT,RF1,305B,ADA002,FB.SYSF.ROLLF1
+FBRUNRFI: Not enough space for 1000 slots.
+FBRUNRFI:       60 Blocks written. Block size is 27998.
+FBRUNRFI:        1 Directory block.
+FBRUNRFI:        8 Blocks per slot. Slot size is 223984.
+FBRUNRFI:        7 Slots initialized. Roll file version vrs.
+FBRUNRFI:        3 Blocks unused.
+FBRUNRFI: FORMAT,RF2,200000
+FBRUNRFI: RF2: FB.SYSF.ROLLF2
+FBRUNRFI:      Creation date: 2001/06/08 Volume: USRF08(3380)
IEC031I D37-04,IFG0554P,FBRUNRFI,FORMAT,RF2,020F,USRF08,FB.SYSF.ROLLF2
+FBRUNRFI:       60 Blocks written. Block size is 23476.
+FBRUNRFI:        1 Directory block.
+FBRUNRFI:        9 Blocks per slot. Slot size is 211284.
+FBRUNRFI:        6 Slots initialized. Roll file version vrs.
+FBRUNRFI:        5 Blocks unused.

Beispiel 2:

//FBRUNRFI JOB  (FB,218),FB,CLASS=K,MSGCLASS=X,NOTIFY=FB
//FORMAT   EXEC PGM=NATRSRFI,PARM='FORMAT,RF1,200000'
//STEPLIB  DD  DISP=SHR,DSN=NATURAL.NATvr.LOAD
//RF1      DD  DISP=SHR,DSN=FB.SYSF.ROLLF1
//RFIPRINT DD  SYSOUT=X

Resultierendes RFIPRINT:

Natural Roll Server - Roll File Utility Version 
vrs
FORMAT,RF1,200000
RF1: FB.SYSF.ROLLF1
Creation date: YYYY/MM/DD Volume: ADA002(3390)
60 Blocks written. Block size is 27998.
1 Directory block.
8 Blocks per slot. Slot size is 223984.
7 Slots initialized. Roll file version vrs.
3 Blocks unused.

Hinweise zum Formatieren oder Zurücksetzen von Roll Files

  • Sie können mehrere Roll Files auf einmal formatieren oder zurücksetzen, indem Sie mehrere Parameterzeilen in RFIPARMS angeben.

  • Sie können ein Roll File nicht formatieren oder zurücksetzen, während der Roll Server aktiv ist.

  • Wenn das Roll File in einer z/OS-Parallel-Sysplex-Umgebung formatiert wird, muss auch die Struktur der Roll Server Coupling Facility mit dem Operator-Kommando SETXCF gelöscht werden, z. B.:

    SETXCF FORCE,STR,STRNAME=NATROLL1

Natural Roll Server starten

Sie können den Roll Server entweder als Batch-Job starten oder als Started Task, indem Sie das Modul NATRSMvr ausführen (wobei vr für die jeweilige Produktversion steht). Das oder die Roll Files müssen als DD-Statements mit ddname ROLLF1 bis ROLLF5 definiert sein.

Sie können Parameter im JCL EXEC-Statement, in einer Parameterdatei oder in beiden angeben. Ein Parameter, der in der EXEC-Anweisung angegeben wird, überschreibt den entsprechenden Parameter in der Parameterdatei.

Wir empfehlen die Verwendung einer Parameterdatei. Der Parameter TIMEOUTREPEAT (siehe Parameter in der Parameterdatei) und zukünftige Parameter können nur in der Parameterdatei angegeben werden. Bestehende JCL wird unverändert weiter ausgeführt.

In diesem Abschnitt werden die folgenden Themen behandelt:

Parameter im JCL EXEC-Statement

Anmerkung
Der lokale Roll Buffer befindet sich in einem Speicherobjekt "oberhalb der Grenze". Verwenden Sie den MEMLIMIT-Parameter im EXEC-Statement, um sicherzustellen, dass genügend Speicher "oberhalb der Grenze" zugewiesen werden kann.

Geben Sie in dem JCL EXEC-Statement als PARM die folgenden Parameter an:

subsystem-id,number-of-roll-files,number-of-LRB-slots,LRB-slot-size,CF-structure-name,low-water-mark,high-water-mark,non-activity-time,timeout-check-time,message-case

Subsystemkennung, Anzahl der Roll Files, Anzahl der LRB-Slots, LRB-Slot-Größe, CF-Strukturname, niedrigste Zuordnungsmarke, höchste Zuordnungsmarke, Inaktivitätszeit, Zeitüberschreitungsprüfzeit, Groß-/Kleinschreibung in Meldungen

Alle Parameter sind positionsgebunden und müssen durch ein Komma voneinander abgetrennt werden. Sie werden in der nachstehenden Tabelle erläutert:

Parameter Parametername für Parameter-Dataset Mögliche Werte Standardwert Kommentar
subsystem-id SUBSID 4-Byte-Zeichenkette ohne Leerzeichen NATv Der angegebene Wert muss mit dem Wert des Natural-Profilparameters SUBSID (v = Versionsnummer) übereinstimmen.

Anmerkung
Bei Natural unter CICS ist der Parameter ROLLSRV im Makro NCMDIR zur Einstellung der entsprechenden Subsystemkennung zu beachten.

number-of-roll-files NUMFILES 0 - 5 1 In einer Nicht-Parallel-Sysplex-Umgebung unter z/OS kann der Roll Server ohne Roll File arbeiten und nur den speicherinternen Local Roll Buffer verwenden.
number-of-LRB-slots NUMSLOTS 1 - 32767 keiner Die Anzahl der LRB-Slots multipliziert mit der Slot-Größe darf 2 GB nicht überschreiten.

Für jeden LRB, d. h. für jedes verwendete Roll File, wird die gleiche Anzahl an LRB-Slots zugewiesen. Die Gesamtzahl der LRB-Slots wird nach folgender Formel berechnet:

number-of-roll-files * number-of-LRB-slots

LRB-slot-size SLOTSIZE beliebiger numerischer Wert Roll File Slot-Größe Wert in Anzahl von Bytes.

Dieser Parameter muss angegeben werden, wenn kein Roll File verwendet wird.

Wenn Roll Files verwendet werden, wird dieser Parameter ignoriert und stattdessen die Slot-Größe der Roll Files verwendet.

Wenn keine Roll Files verwendet werden, d. h. die Anzahl der Roll Files (number-of-roll-files) gleich Null ist, ist dieser Parameter obligatorisch.

CF-structure-name STRUCTURE beliebiger gültiger Strukturname keiner Wenn Sie weniger als 16 Zeichen angeben, werden Leerzeichen angefügt.

Geben Sie diesen Parameter nur an, wenn Sie die Coupling Facility (mit z/OS Parallel Sysplex) verwenden. Andernfalls kann die Verwendung dieses Parameters unnötigen Overhead verursachen.

low-water-mark LOWWATER 0 - 9

7
(einzelnes z/OS)

0
(Sysplex)

Gibt die niedrigste Zuordnungsmarke in Schritten von 10 Prozent der Anzahl der LRB-Slots an.

Der low-water-mark-Wert kann nicht höher sein als der aktuelle high-water-mark-Wert.

Dieser Wert wird immer ignoriert und auf 0 zurückgesetzt, wenn CF-structure-name einen Wert hat, unabhängig davon, was angegeben wurde.

high-water-mark HIGHWATER 0 - 10

8
(einzelnes z/OS)

0
(Sysplex)

Analog zum Parameter low-water-mark.

Der Wert 10 bedeutet, dass die Einstufungs-Task (Staging-Task) nie aktiviert wird. Es wird nur empfohlen, den Wert 10 anzugeben, wenn das LRB groß genug ist, um alle gleichzeitig aktiven Natural-Sitzungen zu bedienen.

Der high-water-mark-Wert kann nicht niedriger sein als der aktuelle low-water-mark-Wert.

Dieser Wert wird immer ignoriert und auf 0 zurückgesetzt, wenn CF-structure-name einen Wert hat, unabhängig davon, was angegeben wurde.

non-activity-time NONACTIVITY 1 - 999999 keiner Die Anzahl der Stunden, die eine Sitzung inaktiv sein kann, bevor sie aus dem Roll File gelöscht wird.

Wird diese Zeit überschritten, dann wird die Sitzung bei der nächsten geplanten Zeitüberschreitungsprüfung gelöscht.

Wenn dieser Parameter weggelassen wird, wird keine Zeitüberschreitungsprüfung durchgeführt.

Dieser Parameter kann mit dem Operator-Kommando TIMEOUT geändert werden, siehe unten.

Sowohl der Authorized Services Manager als auch der Roll Server gestatten die Angabe eines Timeout-Wertes. Wenn Natural in einer SYSPLEX-Umgebung ausgeführt wird, müssen Sie für diesen Parameter und den NONACTIVITY-Parameter des Authorized Services Manager denselben Wert setzen.

timeout-check-time TIMEOUTCHECK 0000 - 2359 keiner Die Tageszeit, zu der die Zeitüberschreitungsprüfung durchgeführt werden soll.

Sitzungen werden gelöscht, wenn sie länger als die durch den vorhergehenden Parameter festgelegte Inaktivitätszeit inaktiv waren.

Wird dieser Parameter weggelassen, dann wird keine Zeitüberschreitungsprüfung eingeplant.

Dieser Parameter kann mit dem Operator-Kommando TIMEOUT geändert werden, siehe unten.

message-case MSGCASE UCTRAN oder leer leer Geben Sie UCTRAN an, wenn der Roll Server alle seine Meldungen in Großbuchstaben ausgeben soll.
repeat-timeout-check TIMEOUTREPEAT 0000 - 1440 keiner Anzahl der Minuten zwischen aufeinanderfolgenden Zeitüberschreitungsprüfungen.

Damit kann eine Zeitüberschreitungsprüfung mehrmals am Tag erfolgen.

Parameter in der Parameterdatei

Die Parameterdatei ist eine physische sequenzielle Datei (DSORG=PS). In Ihrer JCL geben Sie diese Datei mit DDNAME RSMPARM an.

Die Parameter in der Parameterdatei werden als name=value-Paare angegeben. Geben Sie einen Parameter pro Zeile an, beginnend in Spalte 1. Das name=value-Paar wird durch das erste Leerzeichen abgeschlossen, und der Rest der Zeile wird nicht geprüft. Zeilen, die mit einem Stern (*) in Spalte 1 beginnen, werden als Kommentare behandelt. Parameter werden in Großbuchstaben umgesetzt, bevor sie verarbeitet werden.

Sie können auch einen Punkt als Füllzeichen verwenden, so dass die "="-Zeichen in derselben Spalte ausgerichtet werden können. Dies ist jedoch nicht mit dem Parameter TIMEOUT möglich.

Parameter Mögliche Werte Standardwert Kommentar
SUBSID 4-Byte-Zeichenkette ohne Leerzeichen NATv Der angegebene Wert muss mit dem Wert des Natural-Profilparameters SUBSID übereinstimmen (v steht für Versionsnummer).

Anmerkung
Bei Natural under CICS siehe den Parameter CICSPLX im NCMDIR-Makro, um die entsprechende Subsystem-ID zu setzen.

NUMFILES 0 - 5 1 In einer Nicht-Parallel-Sysplex-Umgebung unter z/OS kann der Roll Server ohne Roll File arbeiten und nur den speicherinternen Local Roll Buffer verwenden.
NUMSLOTS 1 - 32767 keiner Die Anzahl der LRB-Slots, die für jedes verwendete Roll File zugewiesen ist.

Die Gesamtzahl der LRB-Slots wird nach folgender Formel berechnet:
NUMFILES * NUMSLOTS

SLOTSIZE beliebiger numerischer Wert Roll File Slot-Größe Wert in Anzahl von Bytes.

Dieser Parameter muss angegeben werden, wenn kein Roll File verwendet wird.

Wenn Roll Files verwendet werden, wird dieser Parameter ignoriert und stattdessen die Slot-Größe der Roll Files verwendet.

STRUCTURE beliebiger gültiger Strukturname keiner Wenn Sie weniger als 16 Zeichen angeben, werden Leerzeichen angefügt.

Geben Sie diesen Parameter nur an, wenn Sie die Coupling Facility (mit z/OS Parallel Sysplex) verwenden. Andernfalls kann die Verwendung dieses Parameters unnötigen Overhead verursachen.

LOWWATER 0 - 9

7
(einzelnes z/OS)

0
(Sysplex)

Gibt die niedrigste Zuordnungsmarke in Schritten von 10 Prozent der Anzahl der LRB-Slots an.

Der LOWWATER-Wert kann nicht höher sein als der HIGHWATER-Wert.

Dieser Wert wird immer ignoriert und auf 0 zurückgesetzt, wenn STRUCTURE einen Wert hat, unabhängig davon, was angegeben wurde.

HIGHWATER 0 - 10

8
(einzelnes z/OS)

0
(Sysplex)

Analog zum Parameter low-water-mark.

Der Wert 10 bedeutet, dass die Einstufungs-Task (Staging-Task) nie aktiviert wird. Es wird nur empfohlen, den Wert 10 anzugeben, wenn das LRB groß genug ist, um alle gleichzeitig aktiven Natural-Sitzungen zu bedienen.

Der HIGHWATER -Wert kann nicht niedriger sein als der LOWWATER-Wert.

Dieser Wert wird immer ignoriert und auf 0 zurückgesetzt, wenn STRUCTURE einen Wert hat, unabhängig davon, was angegeben wurde.

NONACTIVITY 1 - 999999 keiner Die Anzahl der Stunden, die eine Sitzung inaktiv sein kann, bevor sie aus dem Roll File gelöscht wird.

Wird diese Zeit überschritten, wird die Sitzung bei der nächsten geplanten Zeitüberschreitungsprüfung gelöscht.

Wenn dieser Parameter weggelassen wird, wird keine Zeitüberschreitungsprüfung durchgeführt.

Dieser Parameter kann mit dem Operator-Kommando TIMEOUT, geändert werden (siehe Betrieb des Roll Server).

TIMEOUT=option VERBOSE oder TERSE VERBOSE Anzeige (verbose = mit Text) oder Unterdrückung (terse = kein Text) der Meldungen ASM0085 und ASM0086 während eines TIMEOUT-Vorgangs.
TIMEOUTCHECK 0000 - 2359 keiner Die Tageszeit, zu der die Zeitüberschreitungsprüfung durchgeführt werden soll.

Sitzungen werden gelöscht, wenn sie länger als die mit dem Parameter NONACTIVITY angegebene Nichtaktivitätszeit inaktiv waren.

Wird dieser Parameter weggelassen, dann wird keine Zeitüberschreitungsprüfung eingeplant.

Dieser Parameter kann mit dem Operator-Kommando TIMEOUT, geändert werden (siehe Betrieb des Roll Server).

TIMEOUTREPEAT 0 - 1440 keiner Die Anzahl der Minuten zwischen zwei aufeinanderfolgenden Timeout-Prüfungen.

Die erste Zeitüberschreitungsprüfung nach dem Roll Server-Start erfolgt nach der mit dem Parameter TIMEOUTREPEAT angegebenen Anzahl an Minuten.

Wenn TIMEOUTCHECK ebenfalls angegeben ist, wird die erste Zeitüberschreitungsprüfung zu dem mit TIMEOUTCHECK angegebenen Zeitpunkt durchgeführt und danach jeweils nach der mit dem Parameter TIMEOUTREPEAT angegebenen Anzahl an Minuten.

Die Angabe von 0 oder 1440 steht für keine Wiederholung der Zeitüberschreitungsprüfung. Die Zeitüberschreitungsprüfung wird nur zu der mit dem Parameter TIMEOUTCHECK angegebenen Zeit durchgeführt.

MSGCASE UPPER oder MIXED mixed case Die Einstellung MSGCASE=UPPER bewirkt, dass alle Meldungstexte in Großbuchstaben angezeigt werden.

Bei MSGCASE=MIXED werden alle Meldungstexte in Groß-/Kleinschreibung angezeigt.

Anmerkung
Der Local Roll Buffer befindet sich in einem Speicherobjekt "oberhalb der Grenze". Verwenden Sie den MEMLIMIT-Parameter im EXEC-Statement, um sicherzustellen, dass genügend Speicher "oberhalb der Grenze" zugewiesen werden kann.

Beispiele für das Starten des Roll Servers als Batch Job

In den folgenden Beispielen steht vr für die jeweilige Version des Produkts.

//   EXEC PGM=NATRSMvr,PARM='NAvr,,1000'
//ROLLF1 DD DSN=SYSF.ROLLFILE

Die Subsystemkennung ist NAvr, es wird ein Roll File verwendet (Standard), und der lokale Roll Buffer hat 1000 Slots. Die verwendete Slot-Größe ist identisch mit der Slot-Größe des Roll File. Die Niedrigste Zuordnungsmarke ist 70 Prozent (Standard), die höchste Zuordnungsmarke ist 80 Prozent (Standard).

//   EXEC PGM=NATRSMvr,PARM=',5,1000,150000,NATROLL1',MEMLIMIT=800M
//ROLLF1 DD DSN=DASD1.ROLLFILE
//ROLLF2 DD DSN=DASD2.ROLLFILE
//ROLLF3 DD DSN=DASD3.ROLLFILE
//ROLLF4 DD DSN=DASD4.ROLLFILE
//ROLLF5 DD DSN=DASD5.ROLLFILE

Die Subsystemkennung ist NATv (Voreinstellung), es werden fünf Roll Files verwendet, und jeder der fünf lokalen Roll Buffers hat 1000 Slots. Die Größe der LRB-Slots beträgt 150000 Bytes. Das Verzeichnis der Roll Files befindet sich in der Struktur NATROLL1 der Coupling Facility. Niedrigste und höchste Zuordnungsmarken werden ignoriert, da jeder Thread in das Roll File geschrieben wird (siehe Natural Roll Server-Funktionen). Da dieser Job für z/OS gedacht ist, gibt die Option MEMLIMIT 800 Megabyte für die lokalen Roll Buffers an.

Anmerkung
Der Roll Server wird in den folgenden Fällen nicht gestartet:

  • Ein anderer Roll Server läuft mit der gleichen subsystem-id.

  • Ein anderer Roll Server greift auf ein Roll File zu, das in seiner JCL angegeben ist.

  • Ein Roll File wurde mit dem Kommando SETXCF FORCE neu formatiert, ohne die CF-Struktur zurückzusetzen.

Roll Server-Meldungen, Condition Codes und Abend Codes

Der Roll Server schreibt Informations- und Fehlermeldungen unter Verwendung des WTO-Makros (ROUTCDE=11) in JESMSGLG. Den Meldungen werden eine Meldungskennung und der Jobname des Roll Servers vorangestellt, zum Beispiel:

RSM0019 FBRSMvrs: Roll Server Version vrs is active

wobei vrs für die jeweilige Produktversion steht.

Die Meldungen werden im Abschnitt Roll Server Messages in der Messages and Codes-Dokumentation erläutert.

Condition Codes des Roll Server Started Task

Die folgenden Condition Codes werden verwendet:

0 Normale Beendigung
12 Falsche Parametereingabe
16 Laufzeitfehler
20 Abbruch ist aufgetreten
>100 Initialisierungsfehler

Benutzer-Abend Codes

Wenn ein XCF- oder XES Service Call einen unerwarteten Return Code ausgibt, wird ein Abend (Abbruch) mit Dump (Speicherauszug) erzwungen. Register 14 des Abend-Registers enthält den Reason Code. Eine Beschreibung der Ursache finden Sie unter Programming: Sysplex Services Reference (IBM-Dokumentation). Wenn der Fehler nicht umgebungsspezifisch war, senden Sie den Dump an den Support.

Die folgenden Benutzer-Abbruchcodes werden verwendet:

Abend Code Ursache
U0200 IXLCONN fehlgeschlagen
U0201 IXLFORCE fehlgeschlagen
U0202 IXLLIST fehlgeschlagen
U0203 IXLDISC fehlgeschlagen
U0204 IXCLEAVE fehlgeschlagen
U0301 IXLLIST fehlgeschlagen
U0302 IXCMSGO fehlgeschlagen
U0401 IXLLIST fehlgeschlagen
U0501 IXLLIST fehlgeschlagen

Return Codes und Reason Codes der Roll Server-Anforderung

Dies sind Codes, die Natural von den PC-Services-Routinen des Roll-Servers erhalten kann. Sie werden von den jeweiligen Teleprocessing-Schnittstellen (Natural CICS Interface oder Natural IMS TM Interface) gemeldet.

Eine Liste dieser Codes finden Sie unter Return Codes and Reason Codes of the Roll Server Request in der Messages and Codes-Dokumentation.

Roll Server-Betriebsfunktionen

Die folgenden Kommandos können über das Operator-Kommando MODIFY an den Roll Server übergeben werden:

Kommando Beschreibung
HELP Zeigt eine Übersicht über die verfügbare Syntax.
DIAGNOSE Debugging-Funktion, die nur auf Anraten des Supports hin verwendet werden sollte.

Dieses Kommando hat keine Funktion. Es soll in Zukunft in Verbindung mit speziellen Zaps verwendet werden, um bei Bedarf die Diagnose von spezifischen Kundenproblemen zu unterstützen.

HWM n High Water Mark: Setzt die höchste LRB-Zuordnungsmarke auf n mal 10 Prozent der Anzahl der LRB-Slots (n = 0 - 10).

Der HWM-Wert kann nicht niedriger sein als der aktuelle LWM-Wert.

HWM wird immer ignoriert und auf 0 zurückgesetzt, wenn STRUCTURE einen Wert hat.

Wenn n nicht angegeben wird, werden die aktuell niedrigste und die aktuell höchste Zuordnungsmarke angezeigt.

LWM n Low Water Mark: Setzt die höchste LRB-Zuordnungsmarke auf n mal 10 Prozent der Anzahl der LRB-Slots (n = 0 - 9).

Der LWM-Wert kann nicht höher sein als der aktuelle HWM-Wert.

LWM wird immer ignoriert und auf 0 zurückgesetzt, wenn STRUCTURE einen Wert hat.

Wenn n nicht angegeben wird, werden die aktuell niedrigste und die aktuell höchste Zuordnungsmarke angezeigt.

RESET Setzt die Intervallzähler zurück.
SNAP Debugging-Funktion: Der Adressraum des Roll Server wird in SYSUDUMP gespeichert.
STATS Schreiben von Roll Server-Statistiken nach JESMSGLG unter Verwendung des WTO-Makros (ROUTCDE=11). Die Statistiken enthalten Informationen über Roll-Out- und Roll-In-Aktivitäten sowie Roll-Datei-Ein-/Ausgaben.
TERMinate | STOP Stoppt den Roll Server. Das Verzeichnis des Roll File und alle geänderten LRB-Slots werden in das Roll File geschrieben und der Adressraum wird geschlossen. Die Adressraumkennung ist bis zum nächsten IPL nicht mehr verfügbar.

Statistiken werden unter Verwendung des WTO-Makros (ROUTCDE=11) in JESMSGLG geschrieben. Die Statistiken enthalten Informationen über Roll-Out- und Roll-In-Aktivitäten sowie Roll-Datei-Ein-/Ausgaben.

TIMEOUT NAT nnn Gibt den Parameter für die Nicht-Aktivitätszeit an oder ersetzt ihn.
TOC hhmm Gibt die Tageszeit der Zeitüberschreitungsprüfung an oder ersetzt diese.
OFF Deaktiviert die Zeitüberschreitungsprüfung.
ON Aktiviert die Zeitüberschreitungsprüfung wieder.
NOW Startet eine sofortige Zeitüberschreitungsprüfung. Die normale Zeitüberschreitungsprüfungsplanung (falls angegeben) bleibt in Kraft.
TERSE Unterdrückt die Meldungen RSM0072 und RSM0074 während der TIMEOUT NOW-Verarbeitung. Die Meldung RSM0047 Operator command: TIMEOUT NOW wird ebenfalls unterdrückt.
VERBOSE Zeigt die Meldungen RSM0072, RSM0074 und RSM0047 Operator-Kommando: TIMEOUT NOW.

Dies ist die Standardeinstellung.

REPEAT hhmm Gibt das Intervall an, in dem eine Zeitüberschreitungsprüfung erfolgt, oder ersetzt es.
?

(oder keine Angabe)

Zeigt die aktuellen Timeout-Einstellungen an. Das Fragezeichen (?) ist optional und kann weggelassen werden.

Struktur der Coupling Facility zurücksetzen

Wenn ein TP-Monitor oder eine Server-Region, die den Roll Server verwendet, abbricht, gibt der Roll Server möglicherweise einen Fehler zurück. Beispielsweise könnte das Roll Server-Verzeichnis als voll gemeldet werden, weil vor dem Abbruch der Region keine Sitzungsbereinigung durchgeführt wurde. Um einen solchen Fehler zu beheben, müssen Sie die entsprechende Coupling Facility-Struktur löschen:

  1. Schalten Sie alle Roll Server ab, die die betroffene CF-Struktur verwenden.

  2. Setzen Sie das Operator-Kommando SETXCF FORCE,STR,STRNAME=structure-name ab, wobei structure-name der Name der für die Roll Server verwendeten CF-Struktur ist.

  3. Starten Sie alle Roll Server neu.

  4. Formatieren Sie die Roll Files.

Wenn im normalen Betrieb die Roll Files oder der LRB aufgrund der Anzahl der gleichzeitig aktiven Benutzer voll werden, starten Sie den Roll Server neu und geben Sie größere Roll Files oder einen größeren LRB an.

Sie können die Auslastung der Roll Files auch mit dem Dienstprogramm SYSTP überwachen: Funktionscode R, Funktion Natural Subsystems and Roll Server Information.

Roll Server-Leistung optimieren

Als allgemeine Regel für die Leistungsverbesserung des Roll Servers gilt: Geben Sie dem Roll Server eine höhere Dispatching-Priorität als den Adressräumen, in denen Natural läuft.

Um herauszufinden, wo die Performance-Schwachstellen liegen, können Sie die Systemleistung mit der Funktion Natural Subsystems and Roll Server Information des Dienstprogramms SYSTP. Zeilenkommando R (Statistical Information) analysieren.

Achten Sie bei der Analyse der Roll Server-Statistiken insbesondere auf die folgenden Werte:

  • Die Anzahl der direkten Schreibvorgänge.

    Direct write bedeutet, dass der empfangene Natural-Thread direkt in das Roll File geschrieben wurde.

    Dafür gibt es zwei mögliche Ursachen:

    1. Kein LRB-Slot verfügbar. Erhöhen Sie den LRB.

    2. Der komprimierte Thread war größer als ein einzelner LRB-Slot. Erhöhen Sie die Größe des LRB-Slots.

  • Die Anzahl der direkten Lesevorgänge.

    Direct read bedeutet, dass der angeforderte Thread nicht mehr im LRB war und direkt aus dem Roll File gelesen werden musste.

    Wenn das Verhältnis zwischen direkten Lesevorgängen und der Gesamtzahl der Lesevorgänge in einem einzelnen z/OS-System sehr hoch ist, dann ist die LRB zu klein. Erhöhen Sie sie.

    Wenn der Anteil der direkten Lesevorgänge an der Gesamtzahl der Lesevorgänge in einer z/OS-Parallel-Sysplex-Umgebung sehr hoch ist, kann dies auch bedeuten, dass es viele systemübergreifende Aktivitäten gibt, was wiederum bedeutet, dass eine Natural-Sitzung während ihrer Lebendauer ziemlich häufig die z/OS-Images wechselt.

  • Die Anzahl der Staging-Wartezeiten (in einer einzelnen z/OS-Umgebung).

    Ein Staging Wait ist eine Situation, in der eine Schreibanforderung warten musste, bis die Einstufungs-Task (Staging Task) den LRB-Slot in das Roll File geschrieben hatte. Wenn das Verhältnis zwischen Staging-Wartezeiten und der Gesamtzahl der Schreibanforderungen sehr hoch ist, deutet dies darauf hin, dass die höchste und die niedrigste Zuordnungsmarke (Water Mark) unpassend gesetzt sind oder dass es einen Engpass auf dem Roll File-Gerät/Roll File-Kanal gibt.

    Aufgrund von Erfahrungen mit Stresstests wird Folgendes empfohlen:

    Wenn das Verhältnis der maximalen Anzahl aktiver Benutzer zur Anzahl der LRB-Slots sehr klein ist, sollten Sie die höchste Zuordnungsmarke erhöhen. Wenn nicht, sollte die höchste Zuordnungsmarke gesenkt werden.

    Die Differenz zwischen der höchsten und der niedrigsten Zuordnungsmarke sollte nicht größer als drei (30 Prozent) sein.

    Wenn die Anzahl der LRB-Slots deutlich größer ist als die maximale Anzahl der gleichzeitigen Benutzer, sollte die höchste Zuordnungsmarke idealerweise auf 10 gesetzt werden.

Roll Server User Exits

Für den Roll Server gibt es zwei User Exits.

Dafür werden Beispiel-Quellcodemodule ausgeliefert.

User Exit NATRSU14

Gibt die zu verwendende Roll File-Nummer an.

Konventionen für den Einstiegsaufruf:

  • Register 1 adressiert die Parameterliste, die durch den folgenden DSECT beschrieben wird:

    PLIST      DSECT
    PLRSVER    DS CL4    Roll server version  (= 'vrs')
    PLNRF      DS H      Number of roll files
    PLUID      DS CL16   Userid
    PLTSNUM1   DS H      Total number of slots  Roll file 1
    PLUSNUM1   DS H      Number of slots in use Roll file 1
    PLTSNUM2   DS H      Total number of slots Roll file 2
    PLUSNUM2   DS H      Number of slots in use Roll file 2
    PLTSNUM3   DS H      Total number of slots Roll file 3
    PLUSNUM3   DS H      Number of slots in use Roll file 3
    PLTSNUM4   DS H      Total number of slots Roll file 4
    PLUSNUM4   DS H      Number of slots in use Roll file 4
    PLTSNUM5   DS H      Total number of slots Roll file 5
    PLUSNUM5   DS H      Number of slots in use Roll file 5
    PLISTL EQU *-PLIST

    wobei vrs für die jeweilige Version des Produkts steht.

  • Register 13 zeigt auf einen 36-Vollwort-Speicherbereich.

  • Register 14 enthält die Rücksprungadresse.

  • Register 15 enthält die Einstiegsadresse von NATRSU14.

Rücksprungaufrufkonvention:

  • Register 15 enthält die Nummer des Roll File im Binärformat.

Anmerkung
Wenn in diesem User Exit Zugriffsregister verändert werden, müssen diese Zugriffsregister gespeichert und bei der Rückkehr wiederhergestellt werden. Dieser User Exit wird im primären Adressierungsmodus mit PSW Key 8 aufgerufen. Da er im speicherübergreifenden Modus läuft, darf kein SVC außer SVC 13 verwendet werden.

User Exit NATRSU24

Gibt den zu verwendenden XCF-Gruppennamen an.

Einstiegsaufrufkonventionen:

  • Register 1 zeigt auf einen 8-Byte-Bereich, in dem der Gruppenname generiert werden muss.

  • zeigt auf einen 18-Vollwort-Speicherbereich.

  • Register 14 enthält die Rücksprungadresse.

  • Register 15 enthält die Einstiegsadresse von NATRSU24.

Als Vorgabe für den Gruppennamen verwendet der Roll Server die ganz linken 8 Bytes des CF-Strukturnamens.

Dieser User Exit wird im Primärmodus, PSW Key 8 und im Task-Modus aufgerufen.