|
Use the BLDVRP macro to build a VSAM resource pool.
The format of the BLDVRP macro is:
[label]
|
BLDVRP
|
BUFFERS=(size(abs expression[,Hiperspace]), size(abs expression[,Hiperspace]),...) [,FIX={BFR|IOB|(BFR,IOB)}] [,KEYLEN=length] [,MODE={24|31}] [,RMODE31={ALL|BUFF|CB|NONE}] [,SHRPOOL={0|abs expression}] ,STRNO=abs expression [,TYPE={LSR|(LSR,DATA|INDEX)|GSR}]
|
The BLDVRP macro has a standard form and list and execute forms. The
standard form builds a parameter list and passes control to VSAM to
build the resource pool. The list and execute forms are described
in Use of list, execute, and generate forms of VSAM macros. - label
- specifies 1 to 8 characters that provide a symbolic address for
the BLDVRP macro.
- BUFFERS=(size(abs expression[,Hiperspace]), size(abs
expression[,Hiperspace]),...)
- specifies the size and number of virtual and Hiperspace
buffers in each buffer pool in the resource pool. The number of buffer
pools in the resource pool is implied by the number of "size(abs
expression,Hiperspace)" groups you specify.
The request for
the virtual storage is granted even if the request for Hiperspace™ buffers cannot be completely
fulfilled. Some specifications may have Hiperspace buffers allocated while other
specifications in the same BLDVRP request may not.
When you
process a KSDS, the index component and the data component share the
buffers of a buffer pool. When
you use an alternate index to process a base cluster, the components
of the alternate index and the base cluster share buffers. The components
of alternate indexes in an upgrade set share buffers. Buffers of the
appropriate size and number must be provided for all components. Each
component uses the buffer pool with buffers of either the required
size or larger.
LSR/GSR users: To ensure that the buffer
pool built by BLDVRP is used, use the access method services DEFINE
CLUSTER command to define explicitly the matching data and index control
interval sizes. Hiperspace buffer
sizes must match the control interval size of the data set components.
- size
- specifies an integer multiple of 512 or 2048 up to a maximum of
32768 bytes, where n is a positive integer from 1 to 16.
- CISZ=(n x 512) or (n x 2048)
Requirement: If you specify Hiperspace buffering (Hiperspace),
the size must be a multiple of 4096 and match the CISIZE of the data
set components.
- abs expression
- specifies a minimum of 3 up to a maximum of 65535.
- Hiperspace
- specifies
the number of Hiperspace buffers
in the buffer pool. The default is 0. The maximum value is 16777215.
Specifying many Hiperspace buffers
may create virtual storage constraint problems since an 8-byte hash
table entry is built in virtual address space for each Hiperspace buffer.
The Hiperspace option is ignored when TYPE=GSR
is specified.
- FIX={BFR|IOB|(BFR,IOB)}
- specifies that I/O buffers
(BFR), I/O-related control blocks (IOB), or both, are fixed in real
storage. With GSR, IOB includes channel programs. If a program issues
BLDVRP and specifies FIX but the program is not authorized to fix
areas in real storage, FIX is ignored. To be authorized, a program
must either be in supervisor state with protection key 0 to 7, or
be link-edited with APF authorization. See z/OS MVS Programming: Authorized Assembler Services Guide for a description of
the authorized program facility.
If FIX=IOB is specified for BLDVRP
TYPE=INDEX, it is ignored; the FIX=IOB specified for BLDVRP TYPE=DATA
is used instead.
Requirement: If FIX is specified,
DLVRP must be issued by the same task that issues BLDVRP.
- KEYLEN=length
- specifies
the maximum key length of the data sets that share the resource pool.
The default is 255.
Requirement:If your keys are smaller
than 255 bytes, specifying the exact key length saves storage space.
You must provide lengths for the prime key of each KSDS and for the
alternate key of each alternate index that is either used for processing
or is being upgraded. Specify 0 if none of the data sets are keyed.
If
KEYLEN is specified for BLDVRP TYPE=INDEX, it is ignored; the KEYLEN
specified for BLDVRP TYPE=DATA is used.
- RMODE31={ALL|BUFF|CB|NONE}
- specifies the storage residence of the buffers and I/O related
control blocks of the LSR pool identified with the SHRPOOL keyword. The
RMODE31 parameter tells VSAM OPEN routines where to obtain storage
for the I/O related control blocks and I/O buffers.
If RMODE31
is specified for BLDVRP TYPE=INDEX, it affects the residence of the
I/O buffers but is ignored for I/O related control blocks. If RMODE31
is specified for BLDVRP TYPE=INDEX, the RMODE31 specified for BLDVRP
TYPE=DATA is used to set these control blocks instead.
The
RMODE31 parameter is valid only when TYPE=LSR is specified.
- ALL
- specifies both I/O buffers and the VSAM I/O related control blocks
associated with the pool reside above 16 megabytes.
- BUFF
- specifies that only I/O buffers reside above 16 megabytes. This
parameter is the same as the LOC=ANY parameter in previous releases.
- CB
- specifies only the VSAM I/O related control blocks associated
with the pool reside above 16 megabytes.
- NONE
- specifies both I/O buffers and the VSAM I/O related control blocks
associated with the pool reside below 16 megabytes. This is the default.
In previous releases, the LOC=(BELOW|ANY) parameter was used to
specify that buffers in the pool be created above 16 megabytes. The
RMODE31 parameter replaces the LOC parameter and the two parameters
are mutually exclusive. If both are specified on the BLDVRP macro,
the LOC parameter is ignored.
- SHRPOOL={0|abs
expression}
- specifies the identification number of a shared resource pool.
This parameter is valid only when TYPE=LSR and RMODE31 are also specified
or defaulted.
- 0
- specifies the shared pool with the ID of 0.
- abs expression
- specifies the shared pool with the ID of number where number can
be 0 to 255. The LSR control block and buffer pool residence is
determined by the RMODE31 parameter.
- MODE={24|31}
- specifies the format of the BLDVRP parameter list to be generated.
- 24
- specifies that a standard form (24-bit) parameter list address
be generated.
- 31
- specifies that a long form (31-bit) parameter list address be
generated. This value is required if the parameter list resides above
16 megabytes.
- STRNO=abs expression
- specifies the total number of place holders required for all the
data sets sharing the resource pool. 1 is minimum; 255 is maximum.
The number should equal the potential number of requests that
may be issued concurrently for all the data sets sharing the resource
pool. If a request fails because of an insufficient number of place
holders (you receive reason code X'40' in the RPL feedback
area), you may retry the request. It is assigned a place holder if
one has been released. See Table 1 for
a description of reason code X'40'.
STRNO is required
for TYPE=DATA. For BLDVRP TYPE=INDEX, STRNO is not required and, if
specified, is ignored. The STRNO specified by BLDVRP TYPE=DATA is
used.
- TYPE={LSR|(LSR,DATA|INDEX)|GSR}
- specifies whether a local (LSR) or a global (GSR) resource pool
is built.
- LSR
- specifies a local shared resource pool. A maximum of 256 data
and 256 index resource pools can be built in one address space.
Each resource pool must be built individually.
- DATA
- specifies that a data resource pool be built. LSR must also be
specified or defaulted, and this resource pool must exist before an
index pool with the same shared pool ID can be built.
- INDEX
- specifies an index resource pool be built. LSR must also be specified
or defaulted. INDEX must be specified to create a separate index resource
pool. If it is not specified, both data and index components use the
data pools. A data pool must already exist before an index pool with
the same shared pool ID can be built.
For BLDVRP TYPE=INDEX, the
following parameters are ignored: - FIX=IOB
- KEYLEN
- RMODE31 (as it affects the setting of the I/O related control
blocks)
- STRNO
The FIX=IOB, KEYLEN, RMODE31, and STRNO parameters specified
for BLDVRP=DATA are used instead. For example: BLDVRP TYPE=INDEX, x
FIX=IOB, x
KEYLEN=4, x
RMODE31=ALL, x
STRNO=10
results in the FIX, KEYLEN, and STRNO
parameters being reset to the values specified in BLDVRP TYPE=DATA.
The buffer pools reside above 16 megabytes but the control blocks
are at the residence specified by BLDVRP TYPE=DATA.
- GSR
- specifies a global shared resource pool.
Only one BLDVRP TYPE=GSR
may be issued for the system for each of the protection keys 0 through
7. The program that issues BLDVRP TYPE=GSR must be in supervisor state
with protection key 0 to 7.
|