The following statements are available for the BPGSIZE utility routine:
Statement | Function |
ALLOCATE-BUFFER-POOL | Define buffer size |
CONVERT-DATABASE | Convert database |
END | Terminate input of statements |
OPEN-DATABASE | Open database |
UNDO | Cancel effect of statement |
Table 49: Statements for BPGSIZE
BPGSIZE statements can be applied on not only the user realms of the database, but also the database directory (DBDIR) and the database compiler realm (DBCOM). Temporary realms must not be specified.
Rules for statements
Incorrectly entered statements can be corrected, and every correctly entered statement can also be cancelled with the UNDO statement.
If conflicting entries are made with respect to the function or object, the last specification entered always applies.
The ALLOCATE-BUFFER-POOL, OPEN-DATABASE and UNDO statements are executed immediately by BPGSIZE. All valid CONVERT-DATABASE statements are executed by BPGSIZE after the END statement.
The statements must be entered in the following order:
ALLOCATE-BUFFER-POOL
OPEN-DATABASE
CONVERT-DATABASE (possibly more than once)
UNDO (if required)
END
Statement syntax
The individual statements are described in detail below in alphabetic order.
ALLOCATE-BUFFER-POOL (define buffer size)
The ALLOCATE-BUFFER-POOL statement is used to define the size of the used buffer pools in Mbytes
(see the "Database Operation" manual).
The ALLOCATE-BUFFER-POOL statement must be specified as the first statement. It may be dropped if the default values are to be used for buffer initialization.
The ALLOCATE-BUFFER-POOL statement will then no longer be offered in the SDF mask.
The ALLOCATE-BUFFER-POOL statement cannot be canceled with the UNDO statement.
ALLOCATE-BUFFER-POOL |
BUFFER-SIZE = STD / <integer 1..2000> |
BUFFER-SIZE = STD
Sets the buffer pool to the default size of 2 Mbytes.
BUFFER-SIZE = <integer 1..2000>
Size of the buffer pool in Mbytes. The size of the buffer pool must lie within the specified limits. The maximum value depends on the operating system version, the main memory configuration of the system, and the ADDRESS-SPACE-LIMIT value set for the specific user ID.
CONVERT-DATABASE (control database conversion)
The CONVERT-DATABASE statement is used to control the conversion of realms. The realms of the converted database are created by BPGSIZE with the copy name NEW. For every database conversion, the DBDIR must be the first realm to be converted.
The CONVERT-DATABASE statement may be specified more than once in each BPGSIZE run. The statement is considered valid (i.e. can be executed) only if all the realms named in it are present. If a realm that has already been converted is specified in the CONVERT-DATABASE statement, the realm is not converted again.
CONVERT-DATABASE | ||||||||||||||||||||
|
REALM-NAME = *ALL
All realms of the database, including the DBDIR and DBCOM, are converted.Every database conversion involves the execution of a BPGSIZE run with only one CONVERT-DATABASE statement using REALM-NAME=*ALL. This must be
the first and only BPGSIZE run if the entire database is to be converted at once and with the same occupancy level (see below) for all tables, or
the final update run after all realms of the database have been converted in earlier BPGSIZE runs.
REALM-NAME = *ALL-EXCEPT(...)
All realms except for those specified are converted.
NAME = list-poss(30): <realmname>
Names of realms to be excluded from conversion. You can also specify the DBDIR (database directory) and DBCOM (database compiler realm) here.
REALM-NAME = list-poss(30): <realmname>
All specified realms are converted. You can also specify the DBDIR (database directory) and DBCOM (database compiler realm) here.
The realm does not exist.
The realm is detached.
The realm is inconsistent.
The realm does not match the original DBDIR (dbname.DBDIR) or the converted DBDIR (dbname.DBDIR.NEW).
DATABASE-PAGE-LENGTH = *UNCHANGED
The database page length is not changed during conversion. If the original realm contain empty or only partially filled pages, this option can be used to reduce the storage space requirements for the realm.
DATABASE-PAGE-LENGTH = 2KB
Sets the database page length in the converted database to 2048 bytes. This entry is only allowed for 2-Kbyte databases and has the same effect there as the value *UNCHANGED. If a 4-Kbyte or 8-Kbyte database is involved, the statement is rejected.
DATABASE-PAGE-LENGTH = 4KB
Sets the database page length in the converted database to 4000 bytes. This entry is only allowed for 2-Kbyte and 4-Kbyte database. If an 8-Kbyte database is involved, the statement is rejected.
DATABASE-PAGE-LENGTH = 8KB
Sets the database page length in the converted database to 8096 bytes. In the case of an 8-Kbyte database, the entry has the same effect as the value *UNCHANGED.
The database page length in the converted database must be uniform.
Consequently, the following must be observed when specifying the DATABASE-PAGE-LENGTH:
In the first BPGSIZE run for the database:
If multiple CONVERT-DATABASE statements are specified with different DATABASE-PAGE-LENGTH values, BPGSIZE will always use the DATABASE-PAGE-LENGTH value entered in the last valid CONVERT-DATABASE statement. This entry thus determines the page length in the converted database. This is reported by means of a runtime message of BPGSIZE.In all other BPGSIZE runs for the database:
The page length specified in the first BPGSIZE run must be specified for all DATABASE-PAGE-LENGTH values. Otherwise, BPGSIZE will terminate the run with an error message.
TABLE-FILLING = *UNCHANGED
The level to which tables are filled in the converted realms remain (virtually) unchanged.
TABLE-FILLING = *MAXIMUM
Every table in the converted realms is filled as follows:
One table entry remains free at level 0 (base level).
Up to 95 % of the table is filled on level 1.
One table entry remains free on every higher level that follows.
TABLE-FILLING = <integer 1..100>
Every table in the converted realms is filled as follows:
On level 0 (base level), the table is filled in accordance with the specified occupancy level (%).
Up to 95 % of the table is filled on level 1.
One table entry remains free on every higher level that follows.
If the same realm is addressed in multiple CONVERT-DATABASE statements with different TABLE-FILLING values, the entry found in the last valid CONVERT-DATABASE statement in which that realm is addressed will apply to the associated converted realm.
Since all tables of the converted realm are filled up to the specified percentage, a converted realms may require more storage space than the associated original realm in some cases. It is therefore generally advisable to use a high occupancy level (i.e. 99, 100 or *MAXIMUM). More details on selecting a meaningful occupancy level can be found in the “SSL” chapter of the "Design and Definition" manual.
END (terminate input of statements)
The END statement terminates the input of statements and starts execution.
END |
This statement has no operands.
OPEN-DATABASE (open database)
The OPEN-DATABASE statement defines the database to be processed by subsequent statements.
This statement is not allowed if the database has already been assigned using SET-FILE-LINK LINK-NAME=DATABASE.
OPEN-DATABASE |
DATABASE-NAME = <dbname> ,COPY-NAME = *NONE / <copyname> ,USER-IDENTIFICATION = *OWN / <userid> |
DATABASE-NAME = <dbname>
Name of the database. You can only process a database that is available under your own user ID. A database from another user ID can only be processed from the TSOS ID of the system administrator.
COPY-NAME = *NONE
The original database is processed.
COPY-NAME = <copyname>
The database copy (shadow database) with the specified copy name is processed.
USER-IDENTIFICATION = *OWN
The database is located under the user‘s own ID.
USER-IDENTIFICATION = <userid>
The specification of a foreign database ID is only allowed under the TSOS ID.
UNDO (cancel statement)
The UNDO statement cancels the last correctly entered statement (other than UNDO itself).
The UNDO statement cannot be used to cancel the ALLOCATE-BUFFER-POOL statement.
A sequence of two UNDO statements cancels the two statements that immediately precede the UNDO sequence; a sequence of three UNDO statements cancels the three statements that precede the sequence, and so on.
UNDO |
This statement has no operands.