Die indexsequenzielle Zugriffsmethode NK-ISAM des DVS unterstützt die Verwendung von PAM-Key-losen Platten. Darüber hinaus bietet NK-ISAM Möglichkeiten zur Performance-Optimierung durch die Einsparung von Platten-Ein-/Ausgaben. Dazu müssen die Pufferbereiche von NK-ISAM, die ISAM-Pools, geeignet dimensioniert werden.
Diese ISAM-Pools werden im privilegierten Adressraum oder in Data-Spaces angelegt und dienen als Zwischenspeicher für die Verarbeitung einer oder mehrerer NK-ISAM-Dateien. ISAM-Pools können sowohl vom Benutzer explizit über spezielle Makros bzw. Kommandos angelegt und verwaltet werden als auch implizit vom System. Sowohl der Benutzer als auch das System können tasklokale oder taskübergreifende ISAM-Pools anlegen. Taskübergreifende ISAM-Pools werden automatisch dateispezifisch in einem Data Space angelegt.
Tasklokale ISAM-Pools können nur von der aufrufenden Task genutzt werden, taskübergreifende ISAM-Pools definieren einen Pufferbereich, der über Angabe des Pool-Namens auch anderen Jobs zugänglich ist.
Wird eine ISAM-Datei eröffnet, ohne dass sie vom Benutzer im Kommando oder Makro einem bestimmten ISAM-Pool zugeordnet wurde, verwendet das DVS für die Verarbeitung einen Standard-ISAM-POOL des Systems:
Bei einem OPEN mit SHARUPD=NO wird ein tasklokaler Standard-ISAM-POOL zugeordnet, bei einem OPEN mit SHARUPD=YES ein taskübergreifender Standard-ISAM-POOL.
Die Größe eines Standard-ISAM-Pools legt die Systembetreuung in der Parameterdatei fest. Dort wird ebenso die Größe eines benutzerdefinierten ISAM-Pools festgelegt, wenn beim Anlegen des ISAM-Pools keine Angaben zu dessen Größe gemacht wurden.
Schlüsselwort für den BEGIN-Satz ist ISAM.
Die Maximalzahl der dafür zugelassenen Parametersätze beträgt 16.
Die Parameter für NK-ISAM können mehrfach angegeben werden. Gültig ist jeweils der zuletzt angegebene Wert.
Format des Parametersatzes zur Voreinstellungen für NK-ISAM
LCLDFPS = zahl | |
GLBDFPS = zahl | wird nicht mehr ausgewertet |
GLBPS = zahl | |
LCLPS = zahl | |
DFPPROC = *STD / *ADV[ANCED] | wird nicht mehr ausgewertet |
GLBDFPN = zahl | wird nicht mehr ausgewertet |
MAXDSBN = zahl |
LCLDFPS = zahl
gibt die Größe der tasklokalen Standard-ISAM-Pools in PAM-Seiten an.
Mögliche Werte: 96 <= zahl <= 8192
Standardwert: 512
GLBPS = zahl
legt die minimale Größe eines ISAM-Pools in einem Data-Space in PAM-Seiten fest. „zahl“ wird, wenn nötig, auf das nächste Vielfache von 512 gerundet und, wenn nötig, wieder auf den Maximalwert 32766 verringert.
Mögliche Werte: 512 <= zahl <= 32766
Standardwert: 512
LCLPS = zahl
legt den Standardwert für die Pool-Größe beim Anlegen von tasklokalen ISAM-Pools per Kommando oder Makro in PAM-Seiten fest.
Mögliche Werte: 32 <= zahl <= 8192
Standardwert: 512
MAXDSBN = zahl
definiert die Anzahl der maximal für taskübergreifende ISAM-Pools bereitzustellenden Data-Spaces.
Mogliche Werte: 1 <= zahl <= 127
Standardwert: 2
Hinweis zur Einstellung von MAXDSBN und GLBPS
Mit den Voreinstellungen MAXDSBN=2 und GLBPS=512 können max. ca. 4000 gleichzeitig im Modus SHARUPD=YES geöffnete NK-ISAM-Dateien in separaten ISAM-Pools gepuffert werden. Die darüber hinaus im Modus SHARUPD=YES geöffneten NK-ISAM-Dateien werden in den bereits existierenden ISAM-Pools gepuffert.
Wenn sichergestellt werden soll, dass (fast) jede im Modus SHARUPD=YES geöffnete NK-ISAM-Datei separat gepuffert wird, muss zunächst ermittelt werden, wieviele NK-ISAM-Dateien maximal gleichzeitig mit SHARUPD=YES geöffnet werden. Wenn die Anzahl gleichzeitig geöffneter Dateien (=#FILES) den Grenzwert von 4000 überschreitet, muss die Anzahl der benötigten Data Spaces angepasst werden (mit Rundung auf das nächstgrößere Vielfache von 2 GB):
MAXDSBN = (#FILES x GLBPS) / 1.000.000 | |
Anmerkung: | Da die Poolgröße in Einheiten zu 2 KB angegeben wird, muss die Größe eines Data Space in 1.000.000 x 2 KB (= 2 GB) ausgedrückt werden. |
Der Seitenwechselbereich ist ggf. entsprechend zu erweitern, wobei der Bedarf für Data Space für taskübergreifende ISAM-Pools mit (MAXDSBN +
anzusetzen ist.
1)
x
2
GB
Ausschnitt aus der Parameterdatei
/BS2000 PARAMS : /BEGIN ISAM LCLDFPS=100 GLBPS=512 LCLPS=512 MAXDSBN=4 /EOF : /END-PARAMS