SESAM/SQL uses the FASTPAM access method for all files except for the database files that are stored on shared private disks (SPD).
These files are still processed by SESAM/SQL with the UPAM access method because the type of disk does not allow you to use FASTPAM.
Accessing the disks with FASTPAM yields higher performance than accessing them with UPAM because FASTPAM prepares certain paths and resident areas are created.
In order to create resident area the BS2000 user ID requires FASTPAM authorization. Whether or not the BS2000 user ID has the corresponding authorization is determined via the BS2000 command SHOW-USER-ATTRIBUTES. The DMS-TUNING-RESOURCES field must be set to the value *EXCLUSIVE.
FASTPAM can be used even though the BS2000 user ID does not have FASTPAM authorization, but in this case the areas are not stored in resident memory. This also applies to when the BS2000 user ID has FASTPAM authorization, but not all the required areas (I/O buffer and administration information) can be stored in resident memory because there is not enough main memory free.
If the attempt to load SESAM/SQL is rejected in spite of there being a sufficiently high value for RESIDENT PAGES in the BS2000 user ID, the BS2000 system administrator may have to increase the maximum number of resident main memory pages allowed accordingly (BS2000 command MODIFY-SYSTEM-BIAS). You can query the maximum value set (CORE) by using the BS2000 command SHOW-SYSTEM-STATUS with the INFORMATION=*SYSTEM-PARAMETERS parameter.
You can enter the required number of resident pages in the START command for the DBH start in the RESIDENT-PAGES parameter, see "Operands of the start commands". You must specify a minimum and a maximum value.
If you specify a minimum value = 0, SESAM/SQL will start in any case, although performance may suffer. If you specify a minimum value > 0, SESAM/SQL will only start if the minimum requirement can be satisfied.
The specifications for some DBH options are relevant to the calculation of the maximum value, see the formula on "Using FASTPAM for SESAM/SQL".
In addition to the size of the resident memory, the number of required FASTPAM parameter lists (FPAMACC) also represents a limit for FASTPAM. The number of parameter lists required by SESAM/SQL depends on the DBH options.
FASTPAM permits a maximum of 5000 parameter lists. This drops to 500 parameter lists if SESAM/SQL is working without resident areas. This is the case in the absence of FASTPAM authorization or when insufficient resident memory is available for the BS2000 task.
If the limits for the maximum permitted number of parameter lists are exceeded, SESAM/SQL issues a corresponding message and switches automatically to UPAM.
Additional information on the FASTPAM access method can be found in the “ Introductory Guide to DMS”.
Formula for the number of resident pages required:
Number of resident pages (rounded to 4KB units) =
Value of the option CURSOR-BUFFER=*PARAMETERS(BUFFER-SIZE) / 4+ 68 * Number of threads (see Comments on the formula)
+ 33 * Number of entries in the database catalog (option SQL-DATABASE-CATALOG)+ 305
+ Size for FPAMACCs (FASTPAM parameter lists, see Comments on the formula)
Comments on the formula
If the value of the option CURSOR-BUFFER=*PARAMETERS(BUFFER-SIZE=) / 4) is less than (8 * Number of threads), then (8 * Number of threads) is used.
The number of threads is calculated here using the following formula
Number of threads =
Value of the option THREADS
+ Value of the option SYSTEM-THREADS=*PARAMETERS(WRITE-THREADS)+ 6 + D + S + Rwhere
the value for D is calculated according to the table below:
Value of the option
THREADSValue for D
up to 32
1
up to 64
2
up to 96
3
... (in increments of 32)
... (+1)
up to 1024
32
the value for S is calculated according to the table below:
Number of entries in the database catalog
(option SQL-DATABASE-CATALOG)Value for S
up to 4
1
up to 8
2
up to 12
3
... (in increments of 4)
... (+1)
up to 36
9
over 36
10
the value for R is calculated according to the table below:
Value of the option
USERSValue for R
up to 3072
3
up to 4096
4
up to 5120
5
... (in increments of 1024)
... (+1)
up to 32767
32
The size for FPAMACCs is calculated according to the table below:
Size of FPAMACCs (rounded to 4KB units) =
36 bytes * Value of the option DBH-TASKS
* (Number of threads + 3 * Value of the option SQL-DATABASE-CATALOG + 100) / 4096