ibm-information-center/dist/eclipse/plugins/i5OS.ic.cl_5.4.0.1/rcllnk.htm

297 lines
12 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Reclaim Object Links (RCLLNK)</title>
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body bgcolor="white">
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<a name="RCLLNK.Top_Of_Page"></a>
<h2>Reclaim Object Links (RCLLNK)</h2>
<table width="100%">
<tr>
<td valign="top" align="left"><b>Where allowed to run: </b>All environments (*ALL)<br>
<b>Threadsafe: </b>Yes
</td>
<td valign="top" align="right">
<a href="#RCLLNK.PARAMETERS.TABLE">Parameters</a><br>
<a href="#RCLLNK.COMMAND.EXAMPLES">Examples</a><br>
<a href="#RCLLNK.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="RCLLNK"></a>
<p>The Reclaim Object Links (RCLLNK) command allows a single object or a group of objects to be reclaimed.
</p>
<p>The RCLLNK command can be used to reclaim a directory tree where the directory, its contents, and the contents of all of its subdirectories are reclaimed. A subtree reclaim will attempt to reclaim as many objects as possible. A diagnostic message will be sent for each object that cannot be reclaimed. Additionally, an informational message will be sent if a specific problem is corrected, or a diagnostic message will be sent if a specific problem is unable to be corrected. If all of the objects have been reclaimed, with all of the problems corrected, then a completion message will be sent. Otherwise, an escape message will be sent.
</p>
<p>The RCLLNK command does the following:
</p>
<ul>
<li>Corrects object user profile problems
</li>
<li>Corrects user-defined file system problems
</li>
<li>Corrects internal object problems
</li>
<li>Removes invalid object links
</li>
<li>Handles damaged objects as specified on the <b>Damaged object option (DMGOBJOPT)</b> parameter
</li>
<li>Creates missing system objects
</li>
</ul>
<p>A full Reclaim Storage (RCLSTG) fixes the above problems, as well as others such as lost objects or problems which require the system to be in a restricted state. Unlike RCLSTG, the system does not have to be in a restricted state to run RCLLNK.
</p>
<p>For more information about integrated file system commands, see the Integrated file system information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</p>
<p><b>Restrictions:</b>
</p>
<ul>
<li>You must have all object (*ALLOBJ) special authority to run this command.
</li>
<li>Only objects found in the "root" (/), QOpenSys, or mounted user-defined file systems are eligible to be reclaimed. All other objects are ignored during a subtree reclaim.
</li>
<li>An independent auxilary storage pool (ASP) must have a status of "Available" in order for objects residing on the independent ASP to be reclaimed.
</li>
<li>Storage freed objects are not reclaimed unless a storage freed object is specified on the <b>Object (OBJ)</b> parameter.
</li>
<li>Objects that are being saved or restored cannot be reclaimed.
</li>
<li>An object's last access, data change, and attribute change date and time values are not normally updated as a result of being reclaimed. However, if the object has a problem that is corrected, these values may be updated.
</li>
<li>Problems found in the contents of a damaged directory object are not corrected.
</li>
<li>The directory conversion function must not be active while RCLLNK runs. The Convert Directory (CVTDIR) command with OPTION(*CHECK) can be used to verify directory conversion is not active.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#RCLLNK.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="RCLLNK.PARAMETERS.TABLE">Parameters</a></h3>
<table border="1" cellpadding="4" cellspacing="0">
<!-- col1="10" col2="15" col3="30" col4="10" -->
<tr>
<th bgcolor="aqua" valign="bottom" align="left">Keyword</th>
<th bgcolor="aqua" valign="bottom" align="left">Description</th>
<th bgcolor="aqua" valign="bottom" align="left">Choices</th>
<th bgcolor="aqua" valign="bottom" align="left">Notes</th>
</tr>
<tr>
<td valign="top"><a href="#RCLLNK.OBJ"><b>OBJ</b></a></td>
<td valign="top">Object</td>
<td valign="top"><i>Path name</i></td>
<td valign="top">Required, Positional 1</td>
</tr>
<tr>
<td valign="top"><a href="#RCLLNK.SUBTREE"><b>SUBTREE</b></a></td>
<td valign="top">Directory subtree</td>
<td valign="top"><b><u>*DIR</u></b>, *NONE, *ALL</td>
<td valign="top">Optional, Positional 2</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#RCLLNK.DMGOBJOPT"><b>DMGOBJOPT</b></a></td>
<td valign="top">Damaged object option</td>
<td valign="top"><i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Usable objects</td>
<td valign="top">
<b><u>*KEEP</u></b>, *DELETE</td>
</tr>
<tr>
<td valign="top">Element 2: Unusable objects</td>
<td valign="top">
<b><u>*DELETE</u></b>, *KEEP</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#RCLLNK.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="RCLLNK.OBJ"></a>
<h3>Object (OBJ)</h3>
<p>Specifies the path name of the object to be reclaimed. The object must be in the "root" (/), QOpenSys, or a user-defined file system. The object path name can be either a simple name or a name that is qualified with the name of the directory in which the object is located. A pattern cannot be specified ('*' or '?'). If the path name is qualified, it must be enclosed in apostrophes.
</p>
<p>RCLLNK will not follow symbolic links for the last component in the path name.
</p>
<p>If the last component in the path name is a block special file (*BLKSF) then only the block special file object will be reclaimed, not the user-defined file system that it represents.
</p>
<p>The last component name in the path name cannot be '.' (dot) or '..' (dot-dot).
</p>
<p>The effective root directory must be the "root" (/). Refer to the i5/OS PASE chroot command in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter for more information.
</p>
<p>For more information on specifying path names, refer to "Object naming rules" in the CL concepts and reference topic in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#RCLLNK.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="RCLLNK.SUBTREE"></a>
<h3>Directory subtree (SUBTREE)</h3>
<p>Specifies whether or not to reclaim the objects within the subtree if the object specified by the <b>Object (OBJ)</b> parameter is a directory.
</p>
<dl>
<dt><b><u>*DIR</u></b></dt>
<dd>The object specified by OBJ is reclaimed. If the object is a directory, its contents are reclaimed, but the contents of all of its subdirectories are not reclaimed.
</dd>
<dt><b>*NONE</b></dt>
<dd>Only the object specified by OBJ is reclaimed.
</dd>
<dt><b>*ALL</b></dt>
<dd>The object specified by OBJ is reclaimed. If the object is a directory, its contents, as well as the contents of all of its subdirectories, are reclaimed.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#RCLLNK.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="RCLLNK.DMGOBJOPT"></a>
<h3>Damaged object option (DMGOBJOPT)</h3>
<p>Specifies how damaged objects are handled that are considered <b>usable</b> or <b>unusable</b>. If no operations can be performed on a damaged object it is considered unusable. Otherwise, it is considered usable.
</p>
<p>Deleting a usable damaged directory object will cause all its contents and the contents of all its subdirectories to become lost. These lost objects will need to be restored from media or can be recovered via a RCLSTG. The contents of an unusable damaged directory object are already lost.
</p>
<p>The following considerations apply:
</p>
<ul>
<li>Damaged file system root directory objects are not deleted
</li>
<li>Usable damaged objects that are in use are not deleted
</li>
<li>The contents of an unusable damaged directory object are not reclaimed
</li>
<li>The contents of a usable damaged directory object are reclaimed only if *KEEP is specified for usable objects
</li>
</ul>
<p><b>Element 1: Usable objects</b>
</p>
<dl>
<dt><b><u>*KEEP</u></b></dt>
<dd>Usable damaged objects are not deleted.
</dd>
<dt><b>*DELETE</b></dt>
<dd>Usable damaged objects are deleted, if possible.
</dd>
</dl>
<p><b>Element 2: Unusable objects</b>
</p>
<dl>
<dt><b><u>*DELETE</u></b></dt>
<dd>Unusable damaged objects are deleted, if possible.
</dd>
<dt><b>*KEEP</b></dt>
<dd>Unusable damaged objects are not deleted.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#RCLLNK.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="RCLLNK.COMMAND.EXAMPLES">Examples</a> </h3>
<p><b>Example 1: Reclaim Object Links for a Directory</b>
</p>
<p>
<pre>
RCLLNK OBJ('/MYOBJ') SUBTREE(*DIR)
</pre>
</p>
<p>The object MYOBJ will be reclaimed. If MYOBJ is a directory, all of the objects this directory contains will be reclaimed because *DIR is specified for the SUBTREE parameter.
</p>
<p><b>Example 2: Reclaim Object Links for an Object</b>
</p>
<p>
<pre>
RCLLNK OBJ('/MYOBJ') SUBTREE(*NONE)
</pre>
</p>
<p>Only the object MYOBJ will be reclaimed because *NONE is specified for the SUBTREE parameter.
</p>
<p><b>Example 3: Reclaim Object Links for a Directory Subtree</b>
</p>
<p>
<pre>
RCLLNK OBJ('/MYOBJ') SUBTREE(*ALL)
</pre>
</p>
<p>The object MYOBJ will be reclaimed. If MYOBJ is a directory, all of the objects this directory contains, as well as all of the objects contained in the subdirectories, will be reclaimed because *ALL is specified for the SUBTREE parameter.
</p>
<p><b>Example 4: Reclaim Damaged Objects in a Directory Subtree</b>
</p>
<p>
<pre>
RCLLNK OBJ('/MYDIR') SUBTREE(*ALL) DMGOBJOPT(*KEEP *DELETE)
</pre>
</p>
<p>If the MYDIR directory is not damaged, keep all usable damaged objects and delete all unusable damaged objects found in the directory subtree of MYDIR. All other problems found are corrected, if necessary and possible.
</p>
<p><b>Example 5: Search for All Damaged Objects in a Directory Subtree</b>
</p>
<p>
<pre>
RCLLNK OBJ('/MYOBJ') SUBTREE(*ALL) DMGOBJOPT(*KEEP *KEEP)
</pre>
</p>
<p>Check MYOBJ for damage. If MYOBJ is a directory, search for all damaged objects found in the directory subtree of MYOBJ. All other problems found are corrected, if necessary and possible.
</p>
<p><b>Example 6: Delete All Damaged Objects in a Directory Subtree</b>
</p>
<p>
<pre>
RCLLNK OBJ('/MYOBJ') SUBTREE(*ALL) DMGOBJOPT(*DELETE *DELETE)
</pre>
</p>
<p>Delete MYOBJ if it is damaged. If MYOBJ is a directory that is not damaged, delete all damaged objects found in the directory subtree of MYOBJ. All other problems found are corrected, if necessary and possible.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#RCLLNK.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="RCLLNK.ERROR.MESSAGES">Error messages</a> </h3>
<p><b><u>*ESCAPE Messages</u></b>
</p>
<dl>
<dt><b>CPF8206</b></dt>
<dd>Directory conversion cannot be active during RCLSTG or RCLLNK.
</dd>
<dt><b>CPFA085</b></dt>
<dd>Home directory not found for user &amp;1.
</dd>
<dt><b>CPFA089</b></dt>
<dd>Pattern not allowed in path name.
</dd>
<dt><b>CPFA0A2</b></dt>
<dd>Information passed to this operation was not valid.
</dd>
<dt><b>CPFA0A7</b></dt>
<dd>Path name too long.
</dd>
<dt><b>CPFA0A9</b></dt>
<dd>Object not found. Object is &amp;1.
</dd>
<dt><b>CPFA0B1</b></dt>
<dd>Requested operation not allowed. Access problem.
</dd>
<dt><b>CPFA0DF</b></dt>
<dd>Error reclaiming objects in directories.
</dd>
<dt><b>CPFA0F1</b></dt>
<dd>&amp;1 of &amp;2 object links reclaimed with &amp;3 of &amp;4 problems corrected.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#RCLLNK.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>