Question & Answer
Question
When a KSDS is defined through IDCAMS, and users do not specify an INDEX CONTROLINTERVALSIZE (CISIZE) VSAM will determine a default size. The default CISIZE may result in some of the following conditions.
Answer
Description:
When a KSDS is defined through IDCAMS, and users do not specify an INDEX CONTROLINTERVALSIZE (allowing the INDEX CISIZE to default), VSAM calculates this INDEX CISIZE. The default CISIZE may result in some of the following conditions. An explicitly coded CISIZE that is too small has the same exposure:
1. VSAM might select an INDEX CISIZE that is not large enough to allow an entire data CONTROL area (CA) to be used (that is, the associated INDEX record is filled before all data CI's are used). Users might see unexpected FREESPACE, too many extents being used, or extra CI/CA splits in the KSDS components. For large data sets, small INDEX CISIZE can cause excessive CA split activity in the higher-level INDEX records as these records run out of space to hold the high key of the associated lower-level (sequence set) INDEX records. These low settings might cause one of the following messages during file processing:
MSGIEC070i MSGIEC161i MSGIEC251i
RC34 - Data set reached maximum number of extents
RC104 - No more volumes are available on which to allocate space.
2. For clusters defined with LSR/GSR (local or global shared resources) and the new N*512 (Nx512) CI sizes, the VSAM-generated CISIZE may be incompatible with the BLDVRP buffer sizes specified. This can cause errors in IMS, CICS, etc. MSGDFS0730i or MSGIEC161i RC120 RSN53 - indicating the ACB specifies LSR/GSR and the CISIZE of the data set exceeds size of the largest buffer specified in the BLDVRP.
NOTE: 'N*512' basically means that the number must resolve to a value that is evenly divisible by decimal 512. ie;
512 1024 1536 2048 2560 3072 3584 4096 4608 5120 5632 6144 6656 7168 8192.
3. User might receive one of the following RPL feedback errors when VSAM tries to extend the data set; (a condition exists during CA split processing that may prevent the splitting of an INDEX record):
RPL FEEDBACK WORD / RPLFDBWD AA0800D4 AB0800D4 AC0800D4 RC x'AA' x'AB' x'AC' x'D4' RC08 RSND4 RC170 RC171 RC172 RC212 RCD4 RC37 RC132 RC108
4. A DFDSS or IDCAMS print of the KSDS could show large amounts of unused space in the DATA CAs
Resolution:
z/OS DFSMS Using data sets:
Optimizing VSAM Performance, INDEX CONTROL INTERVAL SIZE describes how the user can estimate his INDEX CI size:
To make a general estimate of the INDEX CONTROL INTERVAL SIZE you can multiply one half the key length by the number of DATA CI/CA
(KEYLEN/2) x DATA CI/CA =OR< INDEX CISIZE
EXAMPLE: D/T3390 DATA (KEYLEN=21 CISIZE(4096) CI/CA=180)
21/2 = 10.5 (Round up to whole integer) = 11
11 x 180 = 1980
INDEX CISIZE should be greater than or equal to 1980. Setting 1980 will be resolved to 2048.
NOTE: When changing to new DASD which increases DASD track capacities (which changes the number of CI/CA CONTROLINTERVALS per CONTROL AREA), VSAM users may need to change their INDEX or DATA CI sizes per the above tuning considerations. An INDEX CISIZE = 4096 is usually a safe, starting value to use to initially avoid these errors.
Additional symptoms: MSGDFS0844i ABENDU0844 database full IMS
When a KSDS is defined through IDCAMS, and users do not specify an INDEX CONTROLINTERVALSIZE (allowing the INDEX CISIZE to default), VSAM calculates this INDEX CISIZE. The default CISIZE may result in some of the following conditions. An explicitly coded CISIZE that is too small has the same exposure:
1. VSAM might select an INDEX CISIZE that is not large enough to allow an entire data CONTROL area (CA) to be used (that is, the associated INDEX record is filled before all data CI's are used). Users might see unexpected FREESPACE, too many extents being used, or extra CI/CA splits in the KSDS components. For large data sets, small INDEX CISIZE can cause excessive CA split activity in the higher-level INDEX records as these records run out of space to hold the high key of the associated lower-level (sequence set) INDEX records. These low settings might cause one of the following messages during file processing:
MSGIEC070i MSGIEC161i MSGIEC251i
RC34 - Data set reached maximum number of extents
RC104 - No more volumes are available on which to allocate space.
2. For clusters defined with LSR/GSR (local or global shared resources) and the new N*512 (Nx512) CI sizes, the VSAM-generated CISIZE may be incompatible with the BLDVRP buffer sizes specified. This can cause errors in IMS, CICS, etc. MSGDFS0730i or MSGIEC161i RC120 RSN53 - indicating the ACB specifies LSR/GSR and the CISIZE of the data set exceeds size of the largest buffer specified in the BLDVRP.
NOTE: 'N*512' basically means that the number must resolve to a value that is evenly divisible by decimal 512. ie;
512 1024 1536 2048 2560 3072 3584 4096 4608 5120 5632 6144 6656 7168 8192.
3. User might receive one of the following RPL feedback errors when VSAM tries to extend the data set; (a condition exists during CA split processing that may prevent the splitting of an INDEX record):
RPL FEEDBACK WORD / RPLFDBWD AA0800D4 AB0800D4 AC0800D4 RC x'AA' x'AB' x'AC' x'D4' RC08 RSND4 RC170 RC171 RC172 RC212 RCD4 RC37 RC132 RC108
4. A DFDSS or IDCAMS print of the KSDS could show large amounts of unused space in the DATA CAs
Resolution:
z/OS DFSMS Using data sets:
Optimizing VSAM Performance, INDEX CONTROL INTERVAL SIZE describes how the user can estimate his INDEX CI size:
To make a general estimate of the INDEX CONTROL INTERVAL SIZE you can multiply one half the key length by the number of DATA CI/CA
(KEYLEN/2) x DATA CI/CA =OR< INDEX CISIZE
EXAMPLE: D/T3390 DATA (KEYLEN=21 CISIZE(4096) CI/CA=180)
21/2 = 10.5 (Round up to whole integer) = 11
11 x 180 = 1980
INDEX CISIZE should be greater than or equal to 1980. Setting 1980 will be resolved to 2048.
NOTE: When changing to new DASD which increases DASD track capacities (which changes the number of CI/CA CONTROLINTERVALS per CONTROL AREA), VSAM users may need to change their INDEX or DATA CI sizes per the above tuning considerations. An INDEX CISIZE = 4096 is usually a safe, starting value to use to initially avoid these errors.
Additional symptoms: MSGDFS0844i ABENDU0844 database full IMS
DSBREAKER unpredictable results
SHOWCB available space (AVSPAC)
RPLFDBWD RC08 RSN1C
For further information see:
DFSMS: Access Method Services
CONTROL INTERVAL SIZE
DFSMS: Macro Instructions for data sets:
BLDVRP
DFSMS: Managing catalogs
Set catalog Control Interval and Control Area Size
SHOWCB available space (AVSPAC)
RPLFDBWD RC08 RSN1C
For further information see:
DFSMS: Access Method Services
CONTROL INTERVAL SIZE
DFSMS: Macro Instructions for data sets:
BLDVRP
DFSMS: Managing catalogs
Set catalog Control Interval and Control Area Size
Related Information
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG90","label":"z\/OS"},"Component":"5695DF103 - DFSMS ACCESS METHOD SERVICES","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"1.1;1.10;1.11;1.12;1.13;1.2;1.3;1.4;1.5;1.6;1.7;1.8;1.9;2.1;2.2;2.3;2.4","Edition":"","Line of Business":{"code":"LOB56","label":"Z HW"}}]
Historical Number
5022244
Was this topic helpful?
Document Information
Modified date:
03 September 2021
UID
isg3S1000126