──/1\─POPULATIONINCR─ = ┬<1-100>─┬──────────────────┬┬───────┤ │ └( ─┬DISPLAY──┬─ ) ┘│ │ └NODISPLAY┘ │ └───────── 0 ────────────────┘
Use this option to enable the Enterprise Database Server to automatically increase the size of a structure beyond the limits declared in the database DASDL source file.
This option cannot be specified for the global data set.
Expansion is accomplished by allowing the number of areas in the structure to increase with a maximum of 1000 areas. Structures requiring more than 1000 areas can be accommodated by using the sectioning mechanism. Each automatic increase is applied to the current AREAS target. For example, a structure that started with a maximum population equal to 100 areas and a POPULATIONINCR value of 100 would first be expanded by 100 percent of 100 areas; resulting in a new target of 200 areas. The next expansion would be 100 percent of 200 areas, resulting in the new target of 400 areas and so on.
The actual number of records that can be stored within a structure is based upon the number of areas designated for the structure and the structure type. For instance, the record calculation for
-
Variable‑format data sets is based on the maximum allowed record size
-
Compact data sets is based on the average record size
Therefore, even if a population is specified, the actual run-time evaluation of the allowed number of records might differ from the specified number. This effect is particularly noticeable when the specified population is small compared to the number of records that can be contained in an area.
The value for POPULATIONINCR can also be changed dynamically while the database is running by using the POPULATIONINCR Visible DBS command.
If you decide to change the value for POPULATIONINCR by way of a DASDL update after you change the value by using the STRUCTURE CHANGE POPULATIONINCR Visible DBS command, you must perform a control file override. The override enables the system to recognize that the DASDL update value takes precedence over the value you specified with the Visible DBS command.
For additional information about the POPULATIONINCR Visible DBS command or the DMCONTROL OVERRIDE POPULATIONINCR option, refer to the Enterprise Database Server Utilities Operations Guide.
The following parameters are available for use with the POPULATIONINCR option:
Parameter |
Explanation |
---|---|
0 |
Switches off the option. To explicitly turn off the POPULATIONINCR option, include the following statement in the database DASDL source file: POPULATIONINCR = 0 |
1–100 |
Defines the percentage of the automatic population increase. The percentage must be an integer. By default, the allowed structure size is increased by 10 percent. To set the automatic increase to another value, follow the POPULATIONINCR keyword with the percentage increase required. For instance, to set the percentage increase to 20 percent, include the following statement in the database DASDL source file: POPULATIONINCR = 20 |
(DISPLAY) |
Updates the control file and enables the delivery of a message when an automatic population increase has occurred. DISPLAY is the default. For instance, if the following statement is included in the database DASDL source file, the control file is updated and a message is issued when the population of a structure has increased by 30 percent: POPULATIONINCR = 30 (DISPLAY) |
(NODISPLAY) |
Updates the control file only. No message is sent. For instance, if the following statement is included in the database DASDL source file, the control file is updated, but no message is issued when the population of a structure has increased by 30 percent: POPULATIONINCR = 30 (NODISPLAY) |
You can use the POPULATIONINCR option at both the database and the structure level. Specifications applied at the structure level take precedence over those at the database level.
Possible side effects of increasing population through the POPULATIONINCR mechanism (rather than by performing a reorganization to increase the area size) are as follows:
-
The spanning sets for the structures also grow, but without the benefit of table balancing. Thus, the number of table levels might eventually increase and cause some performance degradation.
-
The container size of the POPULATION item for the structure can overflow. This causes truncation of the POPULATION item value and might lead to erroneous application results.
-
The spanning sets for the structure automatically grow to 1000 areas, but the sets might still be unable to accommodate all the data set records, which can lead to a failure such as NO MORE ROWS IN FILE. In addition to balancing the tables through a garbage collection, you might need to specify the physical attributes for the sets if you want the sets to be able to grow large enough to span the maximum number of records that can potentially be stored in the data set.
When the POPULATIONINCR option is set for a data set, and that data set reaches the quantity of records at which an application would normally receive a limit error, the following actions occur unless system limitations prohibit them:
-
The allowed areas for the data set increases by the specified percentage.
-
The STORE operation in the application is allowed to proceed.
-
A message is sent to the operator display terminal (ODT) in the form of a task that is placed in the waiting mix.
Use the IB (Instruction Block) system command to display the text of the message
-
The control file is updated to reflect the new population limit of the structure and the time that the message was delivered.
This control file information is removed when either a DASDL UPDATE operation or a reorganization is performed that explicitly increases the AREAS option setting for the structure to a value greater than that in the information stored in the control file.
If the full areas increase of the structure can be accommodated, a message similar to the following is emitted:
MYDB: NOTICE - CUSTOMERS has been granted an automatic population increase of 10%. The target for its maximum number of rows has increased from 200 to 220. The structure can now hold 18324 records; based upon the specified record size.
Physical file limitations can prevent the full requested increase from occurring. Under those circumstances, the following additional message is emitted:
MYDB: WARNING - Rows 975 through 1000 have been made available to CUSTOMERS. 1000 AREAS is the maximum number allowed by DMSII. Automatic expansion is no longer available to this structure until it has been reorganized.
When this warning occurs, avoid limit errors and unplanned database downtime by reorganizing the structure and increasing the AREASIZE option value as soon as practicable. Once the area size is increased, the population increase mechanism can again be used to increase the structure automatically.
Typically, the allocation of areas is the result of creating new records in the database. However, new areas can also be allocated as the result of delete operations. Therefore, a large number of record deletions can also cause the automatic population increase to occur. This increase can result in an exception condition if the structure is near the limit of 1000 areas.
Note: | The POPULATIONINCR option is set when you generate a database, unless you explicitly disable the option. |