Where allowed to run: Interactive environments (*INTERACT *IPGM *IREXX *EXEC) Threadsafe: No |
Parameters Examples Error messages |
The Reclaim Storage (RCLSTG) command corrects, where possible, objects that were incompletely updated (such as database files, libraries, device descriptions, directories and stream files) and user profiles containing incorrectly recorded object ownership information. Any unusable objects or fragments are deleted.
This command reclaims all objects secured by an authorization list that is damaged or destroyed and assigns the objects to the authorization list QRCLAUTL.
Because the amount of time required to run this command varies with the number of objects in auxiliary storage, the system will display a panel to the work station where the command was specified, showing the progress of the command's execution. The 'Time Remaining' column will show blanks for a RCLSTG step if no statistics have been collected yet that would enable the RCLSTG command to estimate the total time required for that step.
You can specify *YES for the ESTIMATE parameter to get an estimate of how long the RCLSTG command will take to run. When ESTIMATE(*YES) is specified, messages that show the estimated amount of time are sent to the job log, and no reclaim function is performed.
The RCLSTG command can also be used to reclaim storage when, during an IPL, not enough storage is available to make the system fully operational. In that case, the system operator can specify the command immediately after receiving the message about insufficient storage.
If very little additional auxiliary storage is available, the system overhead required to run the RCLSTG command may need more than the remaining storage; in that case, the RCLSTG command fails.
Note: The RCLSTG command can be a long-running function, depending on the number and type of objects in the system, and the amount of damage to them. Because RCLSTG touches each object multiple times, having enough memory can significantly reduce the time required to run RCLSTG. Conversely, having too little memory can lead to storage thrashing which can significantly increase the time required to run RCLSTG. If database file objects are damaged, the keyed access paths may need to be rebuilt; that operation takes a substantial amount of time. If the RCLSTG command can be run at the user's discretion, the user may want to avoid the operation until the required time can be scheduled.
You can select to run just the directory recovery portion of RCLSTG by specifying SELECT(*DIR). This will reclaim only directories and objects related to the integrated file system.
There are several reclaim commands that perform a subset of the RCLSTG's functions. These commands are: Reclaim Object Links (RCLLNK), Reclaim Database Cross-Reference (RCLDBXREF), Reclaim Objects by Owner (RCLOBJOWN), Reclaim Document Lib Object (RCLDLO), Reclaim Library (RCLLIB) and Reclaim Spool Storage (RCLSPLSTG). Refer to those commands for details on the functions that they perform.
Restrictions:
Top |
Keyword | Description | Choices | Notes |
---|---|---|---|
ESTIMATE | Estimate time required | *NO, *YES | Optional |
SELECT | Select | *ALL, *DBXREF, *DIR | Optional |
OMIT | Omit | *NONE, *DBXREF, *DIR | Optional |
ASPDEV | ASP device or group | Name, *SYSBAS | Optional |
Top |
Specifies whether to calculate an estimate for the amount of time that RCLSTG command will take to run. The estimate is calculated by using statistics collected during previous RCLSTG operations and the values specified for the other RCLSTG parameters.
Top |
Specifies whether to perform all reclaim functions or only one specific reclaim function.
Top |
Specifies the reclaim functions to be omitted from the reclaim operation.
Top |
Specifies the auxiliary storage pool (ASP) to be reclaimed.
Top |
Example 1: Reclaim Storage of the System ASP and All Basic ASPs
RCLSTG
This command, specified interactively, locates all system objects. Objects without owners are given default owners, and those that are lost from their specified libraries are inserted into the QRCL library or the default library, or are deleted.
Objects that are lost from their specified directories are inserted into the '/QReclaim' directory (if the object was originally located in the root file system) or the '/QOpenSys/QReclaim' directory (if the object was originally located in the QOpenSys file system).
Lost objects that are deleted are certain user objects and certain i5/OS system objects that are damaged and not usable.
The QRCL library, which is created (when needed) by the RCLSTG command, is a permanent library.
The '/QReclaim' and '/QOpenSys/QReclaim' directories, which are created (when needed) by the RCLSTG command, are permanent directories; but if they contain no objects at the end of the operation because they were all reclaimed, the directories are deleted.
Example 2: Reclaim Storage to Reclaim the Database Cross-reference Table
RCLSTG SELECT(*DBXREF)
This command reclaims the database cross-reference table.
Example 3: Reclaim Storage of the Entire System that Omits the Reclaim of the Database Cross-reference Table
RCLSTG OMIT(*DBXREF)
This command performs all reclaim storage functions but omits the reclaim of the database cross-reference table.
Example 4: Reclaim Storage that Omits the Reclaim of the Directories
RCLSTG OMIT(*DIR)
This command performs all reclaim storage functions but omits the reclaim of the directories.
Example 5: Reclaim Storage of an ASP Device
RCLSTG ASPDEV(MYASPDEV)
This command reclaims storage for the ASP device name MYASPDEV.
Example 6: Reclaim Storage to Reclaim the Directory Portion of the System ASP and All Basic ASPs
RCLSTG SELECT(*DIR)
Objects that are lost from their specified directories are inserted into the '/QReclaim' directory (if the object was originally located in the root file system) or the '/QOpenSys/QReclaim' directory (if the object was originally located in the QOpenSys file system).
Example 7: Reclaim Storage to Reclaim the Directories of an ASP Device
RCLSTG SELECT(*DIR) ASPDEV(MYASPDEV)
This command reclaims directories for the ASP device name MYASPDEV.
Example 8: Estimate the Time that the Next Full RCLSTG Will Take to Run
RCLSTG ESTIMATE(*YES)
This command estimates the time that the next full RCLSTG will take to run for each one of the major steps:
Messages are sent to the job log giving the estimated amount of time for each major RCLSTG step.
Example 9: Estimate the Time that the Next RCLSTG of an ASP Device Will Take to Run
RCLSTG ESTIMATE(*YES) ASPDEV(MYASPDEV)
This command estimates the time that the next RCLSTG of ASP device name MYASPDEV will take. Messages are sent to the job log giving the estimated amount of time for each major RCLSTG step.
Top |
*ESCAPE Messages
Top |