Increasing the Size of an Area
This article describes the following information:
To increase the size of an area, you can:
- Increase the page size of the area by using the EXPAND PAGE utility statement
- Extend the number of pages in the area by using the EXTEND SPACE clause of the AREA statement
- Increase the current number of pages assigned to the area by unloading and reloading the area
Which Option to Use
Both options 1 and 3 distribute free space throughout an area. While option 1 is faster (and therefore less disruptive) than option 3, it does not reorganize indexes or improve the placement of existing data which may have overflowed due to lack of space on a page. Option 1 is most effective if used before the area approaches a full condition.
Option 2 adds free space only at the end of an area. This can be useful where records or tables have a location mode of direct or are clustered around a dbkey index or an OOAK record. It can also be used as a temporary means of increasing space in an area whose page size cannot be increased (due to device or VSAM restrictions).
If the area to be extended contains CALC records, these records will continue to only target pages in the original page range. If no space is available to hold the new occurrences, they will overflow into the extended page range. The area must continue to be defined as being extended until the records are unloaded and reloaded into a new database in which the entire extended page range is defined as the original page range. Failure to do this results in 0326 errors when CALC retrieval is attempted.
In order to extend an area, there must be unassigned page numbers following the current page range. If these page numbers are already assigned to another area, the current page range cannot be extended. Either Option 1 or 3 must be used; or the current page range must be converted to a new range and that range extended.
Procedures for the first two options follow.
For information on unloading and reloading an area, see the
CA IDMS Administrating section.
Increasing the Page Size of an Area
To increase the page size for an area, follow these steps:
- For each file associated with the area, allocate a new file having the larger page size.
- Copy the contents of each existing file to its new counterpart by executing the EXPAND PAGE utility statement once for each file.
- Delete the old files and rename the new files to the old names.
- Alter the area definition by removing the WITHIN FILE clause and replacing it with REMOVE FILE.
- Alter the area by:
- Changing the page size
- Adding the ORIGINAL PAGE SIZE clause
- Re-adding the WITHIN FILE clause
- Generate, punch, and link all DMCLs in which the file's segment is included
Extending the Page Range of an Area
To extend the number of pages in an area, follow these steps:
- If the additional pages being added to the area will reside in a new file, define the file.
- Change the definition of the area specifying the number of additional pages to add to the area by using the EXTEND SPACE clause. On the EXTEND SPACE clause, specify to which file the additional pages will be mapped by using the WITHIN FILE clause.If the additional pages would cause the number of pages in the area to exceed the maximum space allowed, you can use the MAXIMUM SPACE clause to increase the maximum provided the page numbers are not assigned to another area that will be used in the same DMCL as the area being expanded.
- Generate, punch and link all DMCLs that contain the segment with which the area is associated.
- Allocate a new database file to contain the additional pages and initialize the file using the new DMCL.
- If new pages are being added to the last file of the area:
- Make the area to be processed unavailable for update under the central version.
- Backup the area using an old DMCL.
- Restore the area using an old DMCL, but referencing the new file through JCL statements.If the area maps to its file on a one-to-one basis, it is necessary to include IDMSQSAM=ON in the RESTORE utility's SYSIDMS file.
- Delete the old file and rename the new file.
- Backup the expanded area.
- Make the DMCLs and the new file available to the runtime environment.
For information about how to alter the area, see EXPAND PAGE.