Aller au contenu

Commande CL IBM i (AS/400)

RCLSTG

Récupérer mémoire secondaire

En bref

La commande RCLSTG (Récupérer la mémoire secondaire) permet de corriger des objets dont la mise à jour est incomplète (par exemple, des fichiers base de données, des bibliothèques, des descriptions d'unité, des répertoires et des fichiers STREAM), ainsi que les profils utilisateur contenant des…

RCLSTG se lit RCL (Récupérer (libérer)) + STG. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

RCLSTG

Paramètres

Astuce : dans une session 5250, tapez RCLSTG 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 : Non

La commande RCLSTG (Récupérer la mémoire secondaire) permet de corriger des objets dont la mise à jour est incomplète (par exemple, des fichiers base de données, des bibliothèques, des descriptions d'unité, des répertoires et des fichiers STREAM), ainsi que les profils utilisateur contenant des informations de propriété d'objet enregistrées de façon incorrecte. Tout objet ou fragment inutilisable est supprimé.

Cette commande récupère tous les objets sécurisés par une liste d'autorisation qui sont endommagés ou détruits et les affecte à la liste d'autorisation QRCLAUTL.

Dans la mesure où la durée d'exécution de cette commande varie en fonction du nombre d'objets en mémoire secondaire, le système affiche un panneau sur le poste de travail émetteur de la commande indiquant l'évolution de cette exécution. La colonne 'Temps restant' contient des espaces pour une étape RCLSTG si aucune donnée statistique n'a été collectée et que la commande RCLSTG n'est pas en mesure d'évaluer le temps total requis pour cette étape.

Vous pouvez indiquer la valeur *YES au paramètre ESTIMATE afin d'obtenir une estimation de la durée d'exécution de la commande RCLSTG. Lorsque le paramètre ESTIMATE(*YES) est indiqué, des messages affichant la durée estimée sont envoyés dans l'historique du travail et aucune fonction de récupération n'est effectuée.

La commande RCLSTG peut également servir à récupérer de la mémoire secondaire lorsque, au cours d'un IPL, cette mémoire secondaire ne permet pas d'utiliser la capacité totale du système. Dans ce cas, l'opérateur système peut entrer la commande immédiatement après avoir été averti que la mémoire secondaire est insuffisante.

S'il reste trop peu de mémoire secondaire disponible, le temps système nécessaire à l'exécution de la commande RCLSTG peut requérir un volume de mémoire plus important que le volume restant. Dans ce cas, la commande RCLSTG échoue.

Remarque :L'exécution de la commande RCLSTG varie en fonction du nombre et du type des objets présents sur le système et des dommages qu'ils ont subis. La commande RCLSTG traitant chaque objet plusieurs fois, une mémoire suffisante permet de réduire le temps requis pour exécuter cette commande. Inversement, une mémoire insuffisante peut être à l'origine d'emballement au niveau de la mémoire secondaire, ce qui augmente le temps requis pour exécuter la commande. Si des fichiers base de données sont endommagés, il se peut que vous ayez à reconstituer les chemins d'accès indexés, ce qui prendra beaucoup de temps. S'il vous est possible d'utiliser la commande RCLSTG à votre convenance, attendez de disposer de suffisamment de temps pour l'exécuter.

Vous pouvez choisir d'exécuter uniquement la partie Récupération de répertoires de la commande RCLSTG en indiquant SELECT(*DIR). Ainsi, seuls les répertoires et les objets liés au système de fichiers intégré seront récupérés.

Plusieurs commandes de récupération permettent d'effectuer un sous-ensemble des fonctions de RCLSTG. Ces commandes sont les suivantes : RCLLNK, RCLDBXREF, RCLOBJOWN, RCLDLO, RCLLIB et RCLSPLSTG. Pour en savoir plus sur les fonctions effectuées, reportez-vous à ces commandes.

Restrictions :

  1. Cette commande est fournie avec le droit public *EXCLUDE et les profils utilisateur QPGMR, QSYSOPR, QSRV et QSRVBAS disposent de droits privés sur cette commande.
  2. Si l'option *SYSBAS est indiquée dans le paramètre ASPDEV, tous les sous-systèmes doivent être inactifs avant que la commande RCLSTG puisse être indiquée. A cet effet, vous pouvez utiliser la commande ENDSYS (Arrêter le système) ou ENDSBS (Arrêter un sous-système) en indiquant la valeur *ALL au paramètre SBS. Vous devez disposer du droit d'exploitation des travaux *JOBCTL pour utiliser la commande ENDSYS ou ENDSBS.
  3. Seuls les objets qui résident de façon permanente dans la mémoire secondaire sont récupérés. Les objets temporaires sont récupérés lors d'IPL.
  4. Avant le lancement de la commande RCLSTG suite à un IPL, il se peut que vous deviez attendre quelques minutes que l'IPL aboutisse. Assurez-vous qu'aucun travail n'est en cours à l'aide de la commande WRKACTJOB (Gérer les travaux actifs).
  5. Si l'option *SYSBAS est indiquée pour le paramètre ASPDEV, ce travail doit figurer dans le sous-système de contrôle et constituer le seul travail actif du système.
  6. Les descriptions de serveur de réseau doivent être hors fonction pour que la commande RCLSTG puisse être exécutée.
  7. Si l'option *SYSBAS est indiquée pour le paramètre ASPDEV, toutes les unités ASP configurées sur le système doivent être hors fonction.
  8. Si un ASP ou un groupe ASP est indiqué au paramètre ASPDEV, il ne peut être associé à aucun utilisateur actif ni être utilisé par un autre travail. L'unité ou le groupe ASP doit être à l'état DISPONIBLE ou EN ECHEC pour que la commande RCLSTG puisse être exécutée.
  9. La fonction de conversion de répertoire ne doit pas être active pendant que RCLSTG est en cours d'exécution. La commande CVTDIR avec l'option OPTION(*CHECK) peut être utilisée pour vérifier que la conversion de répertoire n'est pas active. Dans le cas contraire, l'option OMIT(*DIR) doit être précisée pour ignorer l'étape Récupération de répertoires de la fonction de récupération.
  10. Afin de fournir une estimation du temps requis par une commande RCLSTG ultérieure, des données statistiques sont collectées lors de l'exécution de la commande RCLSTG ESTIMATE(*NO). Si vous indiquez ESTIMATE(*YES) et que ces statistiques ne sont pas disponibles, le message d'arrêt programme CPF8281 est généré.

Paramètres

Mot-clé Description Valeurs possibles Remarques
ESTIMATE Estimer temps requis *NO, *YES Facultatif
SELECT Sélection *ALL, *DBXREF, *DIR Facultatif
OMIT Omettre *NONE, *DBXREF, *DIR Facultatif
ASPDEV Unité ASP ou groupe d'ASP Nom, *SYSBAS Facultatif

Estimer temps requis (ESTIMATE)

Permet d'indiquer si une estimation du temps nécessaire à l'exécution de cette commande RCLSTG sera calculée. L'estimation est calculée en utilisant des statistiques collectées au cours d'opérations RCLSTG précédentes ainsi que les valeurs spécifiées pour les autres paramètres RCLSTG.

*NO
La fonction d'estimation n'est pas effectuée. La fonction de récupération indiquée par les autres paramètres est effectuée.
*YES
La fonction d'estimation est effectuée pour le type de récupération indiquée par les autres paramètres. Aucune donnée n'est récupérée. Si SELECT(*DBXREF) est spécifié, aucune estimation ne peut être fournie. En revanche, si elle est disponible, la durée d'exécution de la dernière commande RCLSTG SELECT(*DBXREF) est fournie. Des messages sont affichés pour indiquer les résultats de l'estimation.

Sélection (SELECT)

Permet d'indiquer si l'intégralité ou l'une des fonctions de récupération est à effectuer.

*ALL
Toutes les fonctions de récupération sont effectuées, y compris les fonctions de récupération de table de références croisées de base de données et de récupération de répertoires.
*DBXREF
Seule la fonction Récupération de table de références croisées de base de données est effectuée.
*DIR
Seule l'étape Récupération de répertoires de la fonction de récupération est effectuée.

Omettre (OMIT)

Indique les fonctions de récupération qui doivent être omises.

*NONE
Aucune fonction de récupération ne doit être omise.
*DBXREF
La fonction Récupération de table de références croisées doit être omise.
*DIR
L'étape Récupération de répertoires de la fonction de récupération est omise.

Unité ASP ou groupe d'ASP (ASPDEV)

Indique le pool de mémoire secondaire (ASP) à récupérer.

*SYSBAS
L'ASP système et tous les ASP de base sont récupérés. Le numéro d'ASP 1 est attribué à l'ASP système. Les numéros compris entre 2 et 32 sont affectés aux ASP de base.
nom-unité-pool-mémoire-secondaire
L'unité ASP spécifiée est récupérée. Les unités ASP portent des numéros supérieurs à 32. La récupération de la mémoire secondaire d'une unité ASP peut être exécutée sans que le système ne soit à l'état restreint. L'unité ASP doit être à l'état DISPONIBLE ou EN ECHEC pour que la récupération puisse être exécutée. Vous pouvez soumettre plusieurs travaux, chacun exécutant une commande RCLSTG sur une unité ASP différente, afin de récupérer simultanément plusieurs unités ASP.
nom-groupe-pool-mémoire-secondaire
Récupération de l'ASP principal et de l'ASP secondaire dans le groupe ASP. Le nom de n'importe quel ASP au sein du groupe ASP est accepté. Les ASP principal et secondaire portent des numéros supérieurs à 32. La récupération de la mémoire secondaire d'un groupe ASP peut être exécutée sans que le système ne soit à l'état restreint. L'unité ASP doit être à l'état DISPONIBLE ou EN ECHEC pour que la récupération puisse être exécutée. Vous pouvez soumettre plusieurs travaux, chacun exécutant une commande RCLSTG sur un groupe ASP différent, afin de récupérer simultanément plusieurs groupes ASP.

Exemples

Exemple 1 : Récupération de la mémoire secondaire de l'ASP système et de tous les ASP de base

RCLSTG

Cette commande, définie de manière interactive, repère tous les objets système. Des propriétaires par défaut sont attribués aux objets sans propriétaire, et les objets qui ne figurent pas dans la bibliothèque qui leur a été associée, sont insérés dans la bibliothèque QRCL ou dans la bibliothèque par défaut, ou supprimés.

Les objets qui ne figurent pas dans les répertoires qui leur ont été associés sont insérés dans le répertoire '/QReclaim' (si l'objet était initialement situé dans le système de fichiers principal (root)) ou dans le répertoire '/QOpenSys/QReclaim' (si l'objet était initialement situé dans le système de fichiers QOpenSys).

Les objets perdus qui sont supprimés correspondent à certains objets utilisateur et certains objets système endommagés et non utilisables.

La bibliothèque QRCL, créée (si nécessaire) par la commande RCLSTG, est une bibliothèque permanente.

Les répertoires '/QReclaim' et '/QOpenSys/QReclaim', créés (si nécessaire) par la commande RCLSTG, sont des répertoires permanents. S'ils ne contiennent aucun objet à la fin de l'opération car tous les objets ont été récupérés, ils sont supprimés.

Exemple 2 : Récupération de la mémoire secondaire pour la table de références croisées de base de données

RCLSTG   SELECT(*DBXREF)

Cette commande récupère la table de références croisées de base de données.

Exemple 3 : Récupération de la mémoire secondaire de l'ensemble du système, en omettant la récupération de la table de références croisées de base de données

RCLSTG   OMIT(*DBXREF)

Cette commande réalise toutes les fonctions de récupération de mémoire secondaire, mais ignore la récupération de la table de références croisées de base de données.

Exemple 4 : Récupération de la mémoire secondaire en omettant la récupération des répertoires

RCLSTG   OMIT(*DIR)

Cette commande réalise toutes les fonctions de récupération de mémoire secondaire, mais ignore la récupération des répertoires.

Exemple 5 : Récupération de la mémoire secondaire d'une unité ASP

RCLSTG   ASPDEV(MYASPDEV)

Cette commande récupère la mémoire secondaire pour l'unité ASP dont le nom est MYASPDEV.

Exemple 6: Récupération de la mémoire secondaire pour la partie répertoire de l'ASP système et de tous les ASP de base

RCLSTG   SELECT(*DIR)

Les objets qui ne figurent pas dans les répertoires qui leur ont été associés sont insérés dans le répertoire '/QReclaim' (si l'objet était initialement situé dans le système de fichiers principal (root)) ou dans le répertoire '/QOpenSys/QReclaim' (si l'objet était initialement situé dans le système de fichiers QOpenSys).

Exemple 7: Récupération de la mémoire secondaire pour les répertoires d'une unité ASP

RCLSTG   SELECT(*DIR)  ASPDEV(MYASPDEV)

Cette commande récupère les répertoires pour l'unité ASP dont le nom est MYASPDEV.

Exemple 8: Estimation de la durée de la prochaine commande RCLSTG complète

RCLSTG   ESTIMATE(*YES)

Cette commande estime la durée d'exécution de la prochaine commande RCLSTG complète pour chacune des principales étapes suivantes :

  • Lecture d'objets depuis un disque.
  • Récupération de table d'ID fichier.
  • Récupération de répertoires.
  • Vérification de description d'objet.

Les messages sont envoyés dans l'historique du travail pour indiquer la durée estimée de chacune des principales étapes de RCLSTG.

Exemple 9: Estimation de la durée d'exécution de la prochaine commande RCLSTG sur une unité ASP

RCLSTG   ESTIMATE(*YES)  ASPDEV(MYASPDEV)

Cette commande estime la durée d'exécution de la prochaine commande RCLSTG sur l'unité ASP MYASPDEV. Les messages sont envoyés dans l'historique du travail pour indiquer la durée estimée de chacune des principales étapes de RCLSTG.

Messages d'erreur

Messages *ESCAPE

CPF180B
Fonction &1 non admise.
CPF180C
Fonction &1 non admise.
CPF2119
Bibliothèque &1 verrouillée.
CPF2120
Bibliothèque &1 verrouillée.
CPF2126
&1 bibliothèques non validées.
CPF2127
Profil utilisateur &2 endommagé.
CPF5729
Allocation de l'objet &1 impossible.
CPF8201
Le profil utilisateur &1 n'existe pas ou est endommagé.
CPF8204
Le contrôle de validation ne peut pas être actif pendant une opération RCLSTG ou RCLOBJOWN.
CPF8205
La bibliothèque &1 n'existe pas ou est endommagée.
CPF8206
La conversion de répertoire ne peut pas être active pendant une opération RCLSTG ou RCLLNK.
CPF8209
L'état du système ne permet pas la récupération de mémoire.
CPF8210
La récupération de mémoire de l'unité ASP ou du groupe d'ASP &2 a échoué.
CPF8211
Bibliothèque &1 endommagée. Commande RCLSTG arrêtée.
CPF8212
SELECT(*DBXREF) ou OMIT(*DBXREF) non admis pour la récupération d'un ASP UDFS.
CPF8214
Impossible d'exécuter l'option d'estimation.
CPF8216
SELECT(*DBXREF) ou OMIT(*DBXREF) non admis pour un ASP UDFS.
CPF8224
Objet en double trouvé pendant déplacement ou changement de nom d'un membre.
CPF8232
Des définitions de validation empêchent des opérations RCLSTG ou RCLOBJOWN.
CPF8251
Commande RCLSTG arrêtée. Bibliothèque &1 endommagée.
CPF8252
Erreur pendant la reconstitution de la bibliothèque endommagée &1.
CPF8281
Impossible d'estimer la durée requise pour exécuter RCLSTG.
CPF9814
Unité &1 non trouvée.
CPFA473
Le serveur de réseau &1 doit être mis hors fonction.
CPFB8ED
La description d'unité &1 est incorrecte pour l'opération.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.