Aller au contenu

Service SQL IBM i (AS/400) · Vue et Fonction table

QSYS2.SAVE_FILE_OBJECTS

Objets contenus dans les fichiers de sauvegarde

Liste les objets, bibliothèques et fichiers spoule contenus dans un ou plusieurs fichiers de sauvegarde (*SAVF), en vue ou en fonction de table.

À quoi ça sert

Ce service existe sous deux formes : une vue et une fonction de table. Les deux renvoient, pour chaque objet sauvegardé, le fichier de sauvegarde (SAVE_FILE_LIBRARY, SAVE_FILE), la bibliothèque, le nom, le type et l'attribut de l'objet, le texte, l'horodatage de sauvegarde, la taille, le propriétaire et les informations d'ASP, ainsi que le nom et le chemin pour les objets de bibliothèque de documents.

La fonction de table se pilote avec SAVE_FILE et SAVE_FILE_LIBRARY (*LIBL par défaut), les filtres OBJECT_NAME_FILTER et OBJECT_TYPE_FILTER (*ALL par défaut) et DETAILED_INFO (NONE par défaut). Avec DETAILED_INFO à ALL, on obtient des détails supplémentaires, comme les fichiers spoule sauvegardés dans une file de sortie. IGNORE_ERRORS vaut YES par défaut.

Le SQL permet de retrouver dans quel fichier de sauvegarde se trouve un objet, par exemple pour préparer une restauration, ce que l'affichage de chaque fichier avec DSPSAVF ne permet pas de faire en une seule requête.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT OBJECT_NAME, OBJECT_TYPE, LIBRARY_NAME FROM TABLE(QSYS2.SAVE_FILE_OBJECTS(SAVE_FILE => 'DEMOSAVF', SAVE_FILE_LIBRARY => 'JOBISQL'))

Ce que l'IBM i a renvoyé le 01/10/2026 (3 lignes au plus) :

OBJECT_NAME Nom de l'objet OBJECT_TYPE Type de l'objet LIBRARY_NAME Nom de la bibliothèque
DEMO *DTAARA JOBISQL
COMPTEUR *DTAARA JOBISQL
CLIENT *FILE JOBISQL

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Trouver tous les fichiers de sauvegarde qui contiennent des objets *FILE dont le nom commence par CUST, en soumettant la requête en traitement par lots (vue), ou lister les fichiers spoule sauvegardés dans le fichier de sauvegarde MYLIB/SAVF1 (fonction de table).

-- Description: Find all the save files used to save any *FILE objects with names  
  -- that begin with 'CUST'. Since this can be a long-running query, submit it as a  
  -- batch job. The RUNSQL CL command is used to run the SQL statement and return the  
  -- results in a table in MYLIB. 
 QSYS/SBMJOB CMD(QSYS/RUNSQL 
   SQL('CREATE TABLE MYLIB.SAVF_CUST AS ( 
     SELECT SAVE_FILE_LIBRARY, SAVE_FILE, LIBRARY_NAME, OBJECT_NAME, SAVE_TIMESTAMP  
        FROM QSYS2.SAVE_FILE_OBJECTS  
        WHERE OBJECT_NAME LIKE ''CUST%'') WITH DATA')  
 COMMIT(*NONE)) JOB(SAVFLIST)
-- Description: List all the spooled files saved in the MYLIB/SAVF1 save file. 
 SELECT LIBRARY_NAME CONCAT '/' CONCAT OBJECT_NAME AS OUTPUT_QUEUE, SPOOLED_FILE_NAME, 
       SPOOLED_FILE_NUMBER, CREATE_TIMESTAMP 
  FROM TABLE (QSYS2.SAVE_FILE_OBJECTS(SAVE_FILE => 'SAVF1', SAVE_FILE_LIBRARY => 'MYLIB', 
                                    OBJECT_TYPE_FILTER => '*OUTQ', DETAILED_INFO => 'ALL'));

Bon à savoir

La requête sur la vue peut être longue, car elle lit le contenu de nombreux fichiers de sauvegarde. IBM recommande de la soumettre en traitement par lots et d'écrire le résultat dans une table, comme dans l'exemple avec RUNSQL. Préférez la fonction de table avec un fichier précis dès que vous le connaissez.

Paramètres

ParamètreTypePar défautSignification
SAVE_FILE VARCHAR(10) obligatoire Fichier de sauvegarde
SAVE_FILE VARCHAR(10) obligatoire Fichier de sauvegarde
SAVE_FILE_LIBRARY VARCHAR(10) '*LIBL' Bibliothèque du fichier de sauvegarde
SAVE_FILE_LIBRARY VARCHAR(10) '*LIBL' Bibliothèque du fichier de sauvegarde
OBJECT_NAME_FILTER VARCHAR(10) '*ALL' Filtre sur le nom de l'objet
OBJECT_NAME_FILTER VARCHAR(10) '*ALL' Filtre sur le nom de l'objet
OBJECT_TYPE_FILTER VARCHAR(7) '*ALL' Filtre sur le type d'objet
OBJECT_TYPE_FILTER VARCHAR(7) '*ALL' Filtre sur le type d'objet
DETAILED_INFO VARCHAR(4) 'NONE' Informations détaillées
DETAILED_INFO VARCHAR(4) 'NONE' Informations détaillées
IGNORE_ERRORS VARCHAR(3) 'YES' Ignorer les erreurs
IGNORE_ERRORS VARCHAR(3) 'YES' Ignorer les erreurs

Colonnes renvoyées (15)

Afficher les 15 colonnes
ColonneTypeSignification
SAVE_FILE_LIBRARY VARCHAR(10) Bibliothèque du fichier de sauvegarde
SAVE_FILE VARCHAR(10) Fichier de sauvegarde
LIBRARY_NAME VARCHAR(10) Nom de la bibliothèque
OBJECT_NAME VARCHAR(10) Nom de l'objet
OBJECT_TYPE VARCHAR(7) Type de l'objet
OBJECT_ATTRIBUTE VARCHAR(10) Attribut de l'objet
TEXT_DESCRIPTION VARCHAR(50) Texte descriptif
SAVE_TIMESTAMP TIMESTAMP Horodatage de la sauvegarde
OBJECT_SIZE BIGINT Taille de l'objet
DATA_SAVED VARCHAR(3) Données sauvegardées
OBJECT_OWNER VARCHAR(10) Propriétaire de l'objet
DLO_NAME VARCHAR(20) Nom de l'objet bibliothèque de documents (DLO)
FOLDER_PATH VARCHAR(63) Chemin du dossier
IASP_NUMBER INTEGER Numéro de l'ASP indépendant
IASP_NAME VARCHAR(10) Nom de l'ASP indépendant