Chapter 5. Batch definition of HALDB
5.2 DBRC initialization commands for HALDB
5.2.2 INIT.PART
You can use the INIT.PART command only if the database is already registered with DBRC. The INIT.PART command registers a partition. It creates the HALDB partition structure (a partition record, a partition database record, and one or more DBDS records according to the DBD specification). The INIT.PART fails if the database is being used by the PDU (Example 5-5).
Example 5-5 Error message when HALDB is being used by PDU
DSP1052I DATABASE NORDDB IS IN USE BY HALDB PARTITION DEFINITION UTILITY DSP0209I PROCESSING TERMINATED WITH CONDITION CODE = 12
Most parameters of the INIT.PART command apply to all the partition DBDSs created as a result of this command. An example is the ICJCL skeleton. This differs from the PDU, where these parameters may be specified separately for each partition DBDS being created. These parameters could be changed later by using the CHANGE.DBDS command (or PDU).
Table 5-2 on page 65 shows valid keywords for the INIT.PART command. Restriction: You can not use an INIT.DBDS command for HALDB data sets. Data sets are always defined by the INIT.PART.
Table 5-2 Keywords for INIT.PART
DBD
DBD(name) is a required parameter. It identifies the master database.
PART
PART(name) is a required parameter. It identifies the HALDB partition name. The name must be alphanumeric, up to seven characters long, with the first character being alphabetic.
KEYSTRNG
KEYSTRNG is an optional parameter you use to specify a partition high key value or a partition selection string for use by a partition selection exit. It may be a character value up to 256 characters long or a hexadecimal value up to 512 characters long.
Character values must be alphanumeric with no embedded blanks or commas unless the string is enclosed by single quotes. They will be folded to upper case unless enclosed in single quotes. Hexadecimal values must be enclosed by single quotes and preceded by the letter X (see Example 5-6).
If no partition selection exit is specified in the HALDB master definition,
KEYSTRNG defines the partition high key and is required. The length of the high key must be equal to or less than the root key length. If you define a smaller length, the high key value is padded with hexadecimal ’FF’s up to the defined root key length.
If a partition selection exit is defined, KEYSTRNG defines a partition selection string, which is passed to the partition selection routine. Your exit may or may not require a partition selection string. If required, you determine its contents. It may be to 256 bytes.
Example 5-6 Definition of KEYSTRNG
KEYSTRNG(00060300002443)
HALDB keywords Keywords with the same meaning as in
INIT.DBDS for non-HALDB
DBD PART KEYSTRNG DSNPREFX
RANDOMZR, ANCHOR, HIBLOCK and BYTES, if PHDAM FBFF and FSPF BLOCKSZE, if OSAM GENMAX DEFLTJCL ICJCL, OICJCL NOREUSE / REUSE RECOVJCL RECOVPD RECCVJCL
or in hex values:
KEYSTRNG(X’F0F0F0F6F0F3F0F0F0F0F2F4F4F34’)
DSNPREFX
This parameter is required. It specifies the data set name prefix of the partition’s data sets. It may be up to 37 characters.
PHDAM
If your database is PHDAM, you may specify the randomizer module name with RANDOMZR and the values for ANCHOR, HIBLOCK, and BYTES, which correspond to the specifications in a DBD RMNAME parameter where RMNAME=(module name, number of root anchor points, number of control intervals in root addressable area, number of bytes).
If you omit these specifications here, they are obtained from the DBD. If the values in DBD and INIT.PART are different, the values specified by INIT.PART are used.
Free space
You may enter your specifications for space that is to be left as free space during load or reorganization by using the keywords FBFF (every nth control interval or block is left as free space) and FSPF (free space percentage value per interval or block). The specification applies to all data set groups in the partition.
Example 5-7 defines two partitions named NORD1 and NORD2 in master database NORDDB. We specify their high key values, data set name prefixes, block sizes, and free space values.
Example 5-7 INIT.PART
INIT.PART DBD(NORDDB) PART(NORD1) KEYSTRNG(00060300002443) + DSNPREFX(IMSPSA.IM0A.NORDDB) BLOCKSZE(4096) FBFF(5) FSPF(25) INIT.PART DBD(NORDDB) PART(NORD2) KEYSTRNG(00110500002902) + DSNPREFX(IMSPSA.IM0A.NORDDB) BLOCKSZE(4096) FBFF(5) FSPF(25)
After these commands, a LIST.RECON shows that the master database now has two partitions. It lists information about the partitions. Example 5-8 on page 67 shows only the first partition. The master database listing now indicates that the number of partitions is 2.
A database record for the NORD1 partition has been added with TYPE=PART. The DBD name is the partition name. The master database name is also shown. You may check the data set name prefix, free space, and high key specifications. The list also includes the partition ID, the previous partition, and the following
partition. DBRC has the
partition init needed
flag for HALDB partitions. It has automatically been set to YES.Example 5-8 RECON listing after INIT.PART (part 1)
DB DBD=NORDDB DMB#=18 CHANGE#=3 TYPE=HALDB SHARE LEVEL=0 GSGNAME=**NULL** PSNAME=**NULL** DBORG=PHIDAM DSORG=OSAM CURRENT PARTITION ID=00002 FLAGS: COUNTERS: RECOVERABLE =YES PARTITIONS =2 DATA SET GROUP MEMBERS =1 --- DBD=NORD1 MASTER DB=NORDDB CHANGE#=2 TYPE=PART USID=0000000001 AUTHORIZED USID=0000000000 HARD USID=0000000000 RECEIVE USID=0000000000 RECEIVE NEEDED USID=0000000000 DBRCVGRP=**NULL** DSN PREFIX=IMSPSA.IM0A.NORDDB PARTITION ID=00001 PREVIOUS PARTITION=**NULL** NEXT PARTITION=NORD2 OLRIMSID=**NULL** ACTIVE DBDS=A-J M-V EXIST=NO FREE SPACE: FREE BLOCK FREQ FACTOR=5 FREE SPACE PERCENTAGE=25
PARTITION HIGH KEY/STRING (CHAR): (LENGTH=14 ) 00060300002443 PARTITION HIGH KEY/STRING (HEX): F0F0F0F6F0F3F0F0F0F0F2F4F4F3404040404040404040404040404040404040
OSAM BLOCK SIZE: A = 4096 FLAGS: COUNTERS: BACKOUT NEEDED =OFF RECOVERY NEEDED COUNT =0 READ ONLY =OFF IMAGE COPY NEEDED COUNT =0 PROHIBIT AUTHORIZATION=OFF AUTHORIZED SUBSYSTEMS =0 HELD AUTHORIZATION STATE=0 EEQE COUNT =0 TRACKING SUSPENDED =NO RECEIVE REQUIRED COUNT =0 OFR REQUIRED =NO PARTITION INIT NEEDED =YES ONLINE REORG ACTIVE =NO PARTITION DISABLED =NO
The INIT.PART command also creates all of the DBDS records for your partitions. Certain values have automatically been created. Example 5-9 on page 68 lists the DBDS records.
The DBDS record includes the following information:
The data set name field (DSN) is composed of the data set name prefix field followed by the suffix .A00001. The suffix is the concatenation of dot, the DSGROUP parameter in the DBD source (A, if you have only one data set group), and the generated 5-byte partition ID.
The DBD field is the partition name you chose.
The DD name field (DDN) is the concatenation of the partition name and the DSGROUP value. A partition name must be unique in a set of RECONs. In the listing two additional DBDS records also appear. The first is for the indirect list data set (ILDS). It is suffixed by .L00001. The second is for the PHIDAM primary index and is suffixed by .X00001. You may not change these suffixes.
Example 5-9 RECON listing after partition definition (part 2)
--- DBDS DSN=IMSPSA.IM0A.NORDDB.A00001 TYPE=PART DBD=NORD1 DDN=NORD1A DSID=001 DBORG=HIDAM DSORG=OSAM CAGRP=**NULL** GENMAX=2 IC AVAIL=0 IC USED=0 DSSN=00000000 NOREUSE RECOVPD=0 OTHER DDN=**NULL** DEFLTJCL=**NULL** ICJCL=ICJCL OICJCL=OICJCL RECOVJCL=RECOVJCL RECVJCL=ICRCVJCL FLAGS: COUNTERS: IC NEEDED =OFF RECOV NEEDED =OFF RECEIVE NEEDED =OFF EEQE COUNT =0 --- DSN=IMSPSA.IM0A.NORDDB.L00001 TYPE=PART DBD=NORD1 DDN=NORD1L DSID=003 DBORG=INDEX DSORG=VSAM FLAGS: COUNTERS: RECOV NEEDED =OFF EEQE COUNT =0 --- DBDS DSN=IMSPSA.IM0A.NORDDB.X00001 TYPE=PART DBD=NORD1 DDN=NORD1X DSID=005 DBORG=INDEX DSORG=VSAM FLAGS: COUNTERS: RECOV NEEDED =OFF EEQE COUNT =0 ---