Reclaim DB Cross-Reference (RCLDBXREF)

The Reclaim Database Cross-Reference (RCLDBXREF) command recovers the database cross-reference catalog data for a specific library. This command provides a subset of the function provided by the Reclaim Storage (RCLSTG) command to reclaim the database cross-reference catalog data for the system by specifying SELECT(*DBXREF). The difference is that this command does not require the system to be in restricted state, and it supports a reclaim of a specific library, rather than all libraries on the system.

Additionally this command provides an interface for the user to determine which catalogs have inconsistencies, and which libraries are affected.

If an auxiliary storage pool (ASP) group has been set for the current thread, this command will take affect for the independent ASPs in that ASP group and also for the system and basic user ASPs (ASP numbers 1-32).

This command should only be used when problems with the database cross-reference catalogs occur, and RCLSTG SELECT(*DBXREF) is not an option due to critical business requirements.

Because this command does not need to run in restricted state, it may not always be able to recover cross-reference information. In such cases, running RCLSTG SELECT(*DBXREF) will be required.

When the command is used to recover cross-reference information, the user must not allow applications to use or modify objects in a library that is being reclaimed. Failure to do this could cause unpredictable results.

If RCLDBXREF does not correct the problem, the library being reclaimed may have more inconsistencies than existed before using this command. If this happens, running RCLSTG SELECT(*DBXREF) will be required.

Restrictions:

Parameters

Keyword Description Choices Notes
OPTION Option *CHECK, *FIX Optional, Positional 1
LIB Library Name, *ERR Optional

Option (OPTION)

Specifies what action the command will take. The command can either check for problems, or attempt to fix them.

*CHECK
The command should check to see if any cross-reference catalog inconsistencies have been found. As each catalog is inspected, a diagnostic message (CPD32A7) is sent to the job log for each library known to have inconsistent data in that catalog. After all of the cross-reference catalogs have been checked, an escape message (CPF32AC) is signaled if problems were found. If no inconsistencies are found in the catalogs, a completion message (CPC32AC) is sent indicating the cross-reference data appears to be correct.
*FIX
The command should attempt to fix the cross-reference data for the library specified for the Library (LIB) parameter.

Note: In some cases, the system may determine that a full reclaim of the database cross-reference catalogs is needed by running the Reclaim Storage (RCLSTG) command and specifying SELECT(*DBXREF). In this case, a CPF32AB escape message is sent and the library's cross-reference data will not be fixed.

When the *FIX option is specified, the user must be careful not to interrupt the reclaim process, or to attempt to use or modify objects in a library that is being reclaimed. Failure to do this could cause the reclaim to fail. If the reclaim fails, that library may have more catalog inconsistencies than existed before invoking this command. If this happens, it may be possible to recover by using the command again. If this does not correct the problem, a Reclaim Storage DBXREF (RCLSTG SELECT(*DBXREF)) will be required.

Library (LIB)

Specifies which library should be recovered.

Note: This parameter is only valid when *FIX is specified for the Option (OPTION) parameter.

*ERR
Recovery should be attempted for all libraries known to have had errors in the cross-reference catalogs. The command will attempt to recover all cross-reference data for any library found having inconsistent data when RCLDBXREF was run previously with OPTION(*CHECK) specified.
name
Specify the name of the library for which cross-reference data will be fixed. All cross-reference data for the specified library will be recovered, even if the library is not known to have inconsistent data in the catalogs for it. The library does not need to exist to be specified on this command.

Examples

Example 1: Check for Cross-Reference Problems

RCLDBXREF   OPTION(*CHECK)

This command checks the cross-reference catalogs for errors.

Example 2: Recover the Cross-Reference Catalogs

RCLDBXREF   OPTION(*FIX)  LIB(*ERR)

This command recovers the cross-reference information for all libraries known to be in error.

Example 3: Recover the Cross-Reference Catalog Data for One Library

RCLDBXREF   OPTION(*FIX)  LIB(ABCD)

This command recovers the cross-reference information for library ABCD.

Error messages

*ESCAPE Messages

CPF32AB
Database cross-reference information not recovered.
CPF32AC
Database cross-reference problem(s) exist.
CPF32A4
Internal failure in system cross-reference program.