RCLLNK
Récupérer des liens d'objets
En bref
La commande RCLLNK (Récupérer des liens d'objets) permet de copier un objet isolé ou un groupe d'objets à récupérer.
RCLLNK se lit RCL
(Récupérer (libérer)) + LNK.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
RCLLNK OBJ(…)
Paramètres
Astuce : dans une session 5250, tapez RCLLNK puis F4 pour
l'invite de saisie, et F1 sur un paramètre pour son aide.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSYS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Oui
La commande RCLLNK (Récupérer des liens d'objets) permet de copier un objet isolé ou un groupe d'objets à récupérer.
La commande RCLLNK permet également de récupérer une arborescence de répertoires au même emplacement que le répertoire indiqué, son contenu et le contenu de tous ses sous-répertoires. Si SUBTREE(*ALL) est précisé, la commande tente de récupérer un maximum d'objets de la sous-arborescence. Un message de diagnostic est émis pour chaque objet qui ne peut pas être récupéré. Un message d'information ou de diagnostic est par ailleurs émis selon qu'un incident spécifique a pu être résolu ou non. Si tous les objets sont récupérés et tous les incident résolus, un message d'achèvement est émis. Sinon, un message d'arrêt programme est émis.
La commande RCLLNK effectue les opérations suivantes :
- Correction des incidents au niveau des profils utilisateur objet
- Correction des incidents au niveau du système de fichiers défini par l'utilisateur
- Correction des incidents au niveau des objets internes
- Suppression des liens d'objet incorrects
- Gestion des objets endommagés comme indiqué au paramètre DMGOBJOPT (Option d'objet endommagé).
- Création d'objets système manquants
Une récupération complète de mémoire (RCLSTG) permet de corriger les problèmes sus-cités, et concerne également les objets perdus ou les incidents nécessitant une mise à l'état restreint du système. A la différence de RCLSTG, le système ne doit pas être à l'état restreint pour exécuter RCLLNK.
Pour plus d'informations sur les commandes du système de fichiers intégré, reportez-vous aux Rubriques Système de fichiers intégré de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Restrictions :
- Vous devez disposer des droits spéciaux *ALLOBJ pour exécuter cette commande.
- Seuls les objets détectés dans les répertoires des systèmes de fichiers racine (/), QOpenSys et définis par l'utilisateur sont admissibles pour récupération. Tous les autres objets sont ignorés lors d'une récupération de sous-arborescence.
- Un ASP (pool de mémoire secondaire) indépendant doit être à l'état "Available" pour que ses objets puissent être récupérés.
- Les objets libérés en mémoire ne sont pas récupérés à moins qu'il ne soit indiqué au paramètre OBJ (Objet).
- Les objets en cours de sauvegarde ou de restauration ne peuvent pas être récupérés.
- Les valeurs relatives à la date et à l'heure de dernier accès, de modification de données et de modification d'attribut ne sont pas normalement mis à jour suite à une récupération. Néanmoins, si un incident se produit au niveau de l'objet et est résolu, ces valeurs peuvent être mises à jour.
- Les incidents détectés dans les données d'un objet répertoire endommagé ne sont pas résolus.
- La fonction de conversion de répertoire ne doit pas être active pendant l'exécution de RCLLNK. La commande CVTDIR peut être indiquée avec le paramètre OPTION(*CHECK) afin de vérifier que la fonction de conversion de répertoire n'est pas active.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| OBJ | Objet | Chemin d'accès | Obligatoire, positionnel 1 |
| SUBTREE | Branche du répertoire | *DIR, *NONE, *ALL | Facultatif, positionnel 2 |
| DMGOBJOPT | Option d'objet endommagé | Liste d'éléments | Facultatif |
| Élément 1: Objets utilisables | *KEEP, *DELETE | ||
| Élément 2: Objets inutilisables | *DELETE, *KEEP |
Objet (OBJ)
Indique le nom de chemin d'accès de l'objet à récupérer. Cet objet doit figurer dans le système de fichiers "racine" (/), QOpenSys, ou un système de fichiers défini par l'utilisateur. Il peut s'agir d'un nom simple ou d'un nom qualifié indiquant le nom du répertoire contenant l'objet. Il n'est pas possible d'utiliser un modèle ('*' ou '?'). Si le chemin d'accès est qualifié, il doit être indiqué entre apostrophes.
RCLLNK ne peut pas figurer après des liens symboliques pour le dernier composant du nom de chemin d'accès.
Si le dernier composant du nom de chemin d'accès est un fichier spécial de type bloc (*BLKSF), seul un objet de ce type pourra être récupéré, et non le système de fichiers défini par l'utilisateur qu'il représente.
Le dernier nom de composant dans le nom de chemin d'accès ne peut pas être '.' ni '..'.
Le répertoire racine effectif doit être le répertoire "root" (/). Pour plus d'informations, consultez la commande IBM i PASE chroot dans le manuel IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Pour obtenir de plus amples informations relatives à la spécification des noms de chemin, reportez-vous à "Object naming rules" dans la rubrique Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Remarque :Ce paramètre est compatible Unicode. Pour plus d'informations, reportez-vous à la section sur la prise en charge Unicode dans CL, dans les Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Branche du répertoire (SUBTREE)
Indique si les objets figurant dans la sous-arborescence doivent être récupérés ou non lorsque l'objet indiqué au paramètre OBJ (Objet) est un répertoire.
- *DIR
- L'objet indiqué au paramètre OBJ est récupéré. Si l'objet est un répertoire, son contenu est récupéré, mais pas le contenu de tous ses sous-répertoires.
- *NONE
- Seul l'objet indiqué au paramètre OBJ est récupéré.
- *ALL
- L'objet indiqué au paramètre OBJ est récupéré. Si l'objet est un répertoire, son contenu est récupéré, de même que le contenu de tous ses sous-répertoires.
Une fois que la commande a commencé à traiter une branche d'un répertoire spécifique, les objets localisés et traités peuvent être affectés par les opérations qui mettent à jour l'organisation des objets dans l'arborescence de répertoire spécifiée. Cela inclut, sans caractère limitatif, les éléments suivants :
- Ajout, suppression ou nouvelle dénomination des liens d'objet
- Montage ou démontage des systèmes de fichiers
- Mise à jour du répertoire racine effectif pour le processus qui appelle la commande
- Mise à jour du contenu d'un lien symbolique
Pour traiter la branche du répertoire, le code du système peut augmenter le nombre maximal de descripteurs de fichier, dans la portée du processus, qui peuvent être ouverts lors du traitement. Cette opération est effectuée afin que la commande ne soit pas susceptible d'échouer en raison d'un manque de descripteurs. Cette valeur maximale de portée de processus n'est pas réinitialisée à la fin de la commande.
Option d'objet endommagé (DMGOBJOPT)
Indique comment sont gérés les objets endommagés qui sont considérés comme utilisables ou inutilisables. Si aucune opération ne peut être effectués sur un objet endommagé, il est considéré comme inutilisable. Dans le cas contraire, il est considéré comme utilisable.
La suppression d'un objet de répertoire endommagé entraîne la perte de tout son contenu et du contenu de tous ses sous-répertoires. Ces objets perdus doivent être restaurés à partir d'un support ou peuvent être récupérés à l'aide de RCLSTG. Le contenu d'un objet répertoire endommagé inutilisable est d'ores et déjà perdu.
Les considérations suivantes s'appliquent :
- Les objets du répertoire racine du système de fichiers endommagé ne sont pas supprimés
- Les objets endommagés utilisables qui sont utilisés ne sont pas supprimés
- Le contenu d'un objet répertoire endommagé inutilisable n'est pas récupéré
- Le contenu d'un objet répertoire endommagé utilisable n'est pas récupéré à moins que *KEEP ne soit indiqué pour les objets utilisables
Elément 1 : Objets utilisables
- *KEEP
- Les objets endommagés utilisables ne sont pas supprimés
- *DELETE
- Les objets endommagés utilisables sont supprimés, si possible.
Elément 2 : Objets inutilisables
- *DELETE
- Les objets endommagés inutilisables sont supprimés, si possible.
- *KEEP
- Les objets endommagés inutilisables ne sont pas supprimés
Exemples
Exemple 1 : Récupération de liens d'objet pour un répertoire
RCLLNK OBJ('/MONOBJ') SUBTREE(*DIR)
L'objet MONOBJ va être récupéré. Si MONOBJ est un répertoire, tous les objets qu'il contient vont être récupérés car la valeur *DIR est indiquée au paramètre SUBTREE.
Exemple 2 : Récupération de liens d'objet pour un objet
RCLLNK OBJ('/MONOBJ') SUBTREE(*NONE)
Seul l'objet MONOBJ va être récupéré car la valeur *NONE est indiquée au paramètre SUBTREE.
Exemple 3 : Récupération de liens d'objet pour une sous-arborescence de répertoire
RCLLNK OBJ('/MONOBJ') SUBTREE(*ALL)
L'objet MONOBJ va être récupéré. Si MONOBJ est un répertoire, tous les objets qu'il contient, ainsi que tous les objets figurant dans les sous-répertoires, seront récupérés car la valeur *ALL est indiquée au paramètre SUBTREE.
Exemple 4 : Récupération d'objets endommagés dans une sous-arborescence de répertoire
RCLLNK OBJ('/MONREP') SUBTREE(*ALL) DMGOBJOPT(*KEEP *DELETE)
Si le répertoire MONREP n'est pas endommagé, conserve tous les objets endommagés utilisables et supprime tous les objets endommagés inutilisables détectés dans la sous-arborescence de répertoires de MONREP. Tous les autres incidents détectés sont résolus, si nécessaire et si possible.
Exemple 5 : Recherche de tous les objets endommagés dans une sous-arborescence de répertoire
RCLLNK OBJ('/MONOBJ') SUBTREE(*ALL) DMGOBJOPT(*KEEP *KEEP)
Vérifie si l'objet MONOBJ est endommagé. Si MONOBJ est un répertoire, recherche de tous les objets endommagés détectés dans la sous-arborescence de répertoires de l'objet MONOBJ. Tous les autres incidents détectés sont résolus, si nécessaire et si possible.
Exemple 6 : Suppression de tous les objets endommagés dans une sous-arborescence de répertoire
RCLLNK OBJ('/MONOBJ') SUBTREE(*ALL) DMGOBJOPT(*DELETE *DELETE)
Supprime l'objet MONOBJ s'il est endommagé. Si MONOBJ est un répertoire qui n'est pas endommagé, supprime tous les objets endommagés détectés dans la sous-arborescence de répertoires du répertoire MONOBJ. Tous les autres incidents détectés sont résolus, si nécessaire et si possible.
Messages d'erreur
Messages *ESCAPE
- CPF8206
- La conversion de répertoire ne peut pas être active pendant une opération RCLSTG ou RCLLNK.
- CPFA085
- Répertoire initial de l'utilisateur &1 introuvable.
- CPFA089
- Masque non admis dans nom de chemin.
- CPFA0A2
- Données incorrectes transmises à l'opération.
- CPFA0A7
- Le nom de chemin est trop long.
- CPFA0A9
- Objet introuvable. L'objet est &1.
- CPFA0B1
- Opération demandée non admise. Incident d'accès.
- CPFA0DF
- Erreur lors de la récupération d'objets dans les répertoires.
- CPFA0F1
- &1 liens d'objets sur &2 récupérés ; &3 incidents sur &4 résolus.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.