• No results found

Recognizing and Correcting Abnormal Conditions

6.2.1. Problem: Files

6.2.1.8. Files Cannot Be Expanded (Special Case I/O Error)

If a system or database file reaches the maximum allocated size, it gets an I/O error 22. The system informs the program of the I/O error and, if possible, rolls back the program that caused the file to overflow.

Symptom

An established UDS program rolls back with an error message indicating that an I/O error 22 has occurred. If rollback cannot occur because of additional I/O errors, terminate the program (see Section 5).

Analysis

When the configuration is too small for a retention file, the file is rolled back because you cannot acquire any more segments. I/O error 22 indicates that the files are cataloged too small for the defined configuration. Recatalog the file with a larger size.

If a database file caused the error, the system rolls back the database updates of the program causing the overflow, leaving the database in a consistent state.

Nevertheless, you probably must recatalog the file with a larger size.

Corrective Action

If the retention file overflowed, you can rewrite the program so that it commits updates at shorter intervals. If you cannot do this, you can expand the retention file in the configuration. For example, call the UREP processor, alter the value of

RETENTION-MAXIMUM-POSITIONS, and use the UREP PROCESS

CONFIGURATION...INSTALL command to replace the old value of the UREP storage area size attribute with a larger one.

If you are using the RETENTION-FILE-ALGORITHM "SINGLE-FILE" you must consider changing to the "POOL" algorithm (see the Repository for ClearPath OS 2200

Recognizing and Correcting Abnormal Conditions

Example 1

In this example, it is assumed that you are changing from SINGLE-FILE to POOL:

@ . @ .

@ . Call UREP and add the attribute @ . RETENTION-FILE-ALGORITHM=POOL @ . The system default for the @ . pool structure will be used. @ .

@dd,e

update configuration release. add retention-file-algorithm POOL.

@ . Now show the POOL structure generated by UREP process configuration release report.

process configuration release install. exit.

@ . @ .

@ . Reinitialize the new environment @ .

@dd,e exit.

If this is a database file, you do not have to reorganize or reload the database.

For an RDMS database file, the overflow might have occurred either because the maximum logical page number was reached or the actual physical limit of the file was reached. Check your calculations to determine whether the page size times the number of pages is greater than the maximum size used when the file was cataloged. If so, you can use your own runstream to call IRU, use the IRU DOWN command for the RDMS database file, and assign the file, specifying a larger maximum file size, as in the following example:

@asg,a qualx*filex.,///new-maximum-file-size

After expanding the file by reassigning it, use the IRU UP command to make the file available for online access. If you reach the maximum number of pages allocated for the file, you can dynamically expand this number by calling the UREP processor (@DD) to update the storage area to reflect a new maximum page number, followed by a PROCESS STORAGE-AREA for UPDATE to put the new, expanded file size in effect. In either case, you can rerun the programs.

To expand an SFS data file, use the IRU DOWN command to disable the file, use an independent runstream to reassign the file with a larger maximum size, and then use the IRU UP command. If the file is a direct system data format (DSDF) file, your program must open the file with the EXTEND option on the OPEN command to create the expanded area. You do not need to use the EXTEND option on subsequent OPEN commands.

Recognizing and Correcting Abnormal Conditions

To expand the physical size of a DMS dynamic area record placement (DARP) area (data file), you can recatalog the file up to the maximum expandable size of the area that is specified on the Data Definition Language (DDL) ALLOCATE clause. For more information about how to allocate space and expand DARP areas, see the DMS DDL

Administration, Operations, and Programming Guide.

For information about increasing the number of pages in a static area record

placement (SARP) area and maintaining DMS files, see the Network Database Server

for ClearPath OS 2200 Administration and Support Guide.

Example 2

This example illustrates how to expand the physical size of RDMS, SFS, and DMS files:

@ .

@ . RDMS Case: Update the max pages allowed for the file by updating @ . the storage area definition.

@ .

@ . While this is taking place, users attempting to @ . access

@ . the file will be queued until the FDT entry

@ . describing the file is released following the update. @ .

@ . Before doing this update to reflect a larger file, @ . however, one must DOWN the file with the IRU to force @ . a FREE of the file from UDSC.

@ .

@ . You can then reassign the file temporarily with a @ . bigger max size.

@ .

@ . You then UP the file with the IRU before updating the @ . storage area definition.

@ . @ .

@ . Step 1: DOWN file, ASG it with a larger max size, then UP @ . file again for access.

@iru

DOWN file exampl*exfil;act; end; @asg,a exampl*exfil,f///10 @free exampl*exfil.

@iru

UP file exampl*exfil; act; end; @ .

@ . Step 2: Now you can update the storage area definition in @ . the repository to reflect this larger size. @ .

@dd,e

Recognizing and Correcting Abnormal Conditions

EXIT. @ .

@ . SFS Case: For either of the file formats supported by SFS @ . (DSDF or MSAM), the number of pages specified in @ . the storage area definition is disregarded. @ . This information is gotten from the file itself. @ .

@ . The size of the file is merely expanded by freeing @ . it from UDSC and reassigning it to a larger size. @ . This is done with the IRU by DOWNing the file as @ . in the RDMS case.

@ .

@ . The file may be again accessed by UPing the file @ . with the IRU after reassigning it with a larger @ . max size.

@ .

@ . You then UP the file with the IRU before updating the @ . storage area definition.

@ .

@ . Reaccessing the file then depends upon the file @ . format and the language supporting the access. @ .

@ . MSAM: The next user OPENing the file may start @ . inserting new records or updating any existing @ . records and may optionally OPEN the file @ . for EXTEND (for the semantics of this you @ . should consult the programming language @ . manual).

@ .

@ . DSDF: The next user OPENing the file MUST OPEN the @ . file for EXTEND in order for SFS to

@ . skeletonize all records beyond the old limit. @ . Again you should consult the programming @ . manual you are using for the semantics of @ . EXTEND.

@ . @iru

DOWN file exampl*exfil1 ; act; end; @asg,a exampl*exfil1,f///10

@free exampl*exfil1. @iru

UP file exampl*exfil1; act; end; @ .

@ . DMS Case: When using DMS database files (DARP), you can get @ . get an error when indicating no more physical room @ . in the file if the maximum number of expandable pages @ . defined in the schema calculates to be larger than @ . the physical file size used on the original file @ . assignment.

Recognizing and Correcting Abnormal Conditions

@ . When this occurs you can dynamically expand the @ . physical file space at the end without affecting the @ . database. The pages at the end of a DARP area do not @ . need initialization.

@ .

@ . The procedure for physically expanding this space @ . follows the same line as a Shared File storage-area. @ .

@ . You will notice the file qualifier for the database @ . file is the DMS Universal Qualifier; therefore, it is @ . different from the qualifier of the storage-area name @ . (the schema name).

@ . @ .

@ . STEP 1 : Down the area with IRU to flush used pages from @ . UDS memory and to free the file from UDSC use. @ .

@ . STEP 2 : Reassign the file with a higher maximum granularity @ . Then free the file.

@ .

@ . STEP 3 : Up the file with the IRU to make it again available @ . for online use.

@ .

@ . All subsequent run units may start adding records, @ . DMS will allocate these new pages and initialize @ . these DARP overflow pages as it needs them. @ .

@ . Once you reach the logical maximum number of pages @ . specified in the schema you will need to recompile @ . and reload the database file.

@ . @iru

DOWN file uds$$src*exfil2; act; end; @asg,a uds$$src*exfil2,f///10

@free uds$$src*exfil2. @iru

UP file uds$$src*exfil2; act; end; @ .

Recognizing and Correcting Abnormal Conditions