Service SQL IBM i (AS/400) · Fonction table
QSYS2.ANALYZE_CATALOG
Analyser la cohérence du catalogue
Détecte les incohérences du catalogue de base de données (références croisées, contraintes) pour une bibliothèque, avec gravité et détail de chaque anomalie.
À quoi ça sert
Cette fonction de table analyse le catalogue de la base de données et renvoie une ligne par anomalie : bibliothèque, objet, type, gravité (SEVERITY), catégorie, description et détail, ainsi que la bibliothèque et le nom du catalogue concerné.
Le paramètre OPTION (défaut 'DBXREF') choisit l'analyse, et LIBRARY_NAME (défaut '*ALL') limite le contrôle à une bibliothèque. On l'utilise après un incident, une restauration ou une migration pour vérifier que les contraintes et les références sont saines.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT * FROM TABLE(QSYS2.ANALYZE_CATALOG(OPTION => 'DBXREF', LIBRARY_NAME => 'JOBISQL')) X
La requête n'a renvoyé aucune ligne sur notre IBM i de test.
L'exemple d'IBM
Déterminer s'il existe des incohérences de contraintes pour les fichiers de la bibliothèque APPLIB.
-- Description: Determine if there are any constraint inconsistencies -- for files in library APPLIB.
SELECT * FROM TABLE(QSYS2.ANALYZE_CATALOG(OPTION => 'DBXREF',
LIBRARY_NAME =>'APPLIB'));
Bon à savoir
Sur '*ALL', l'analyse parcourt toutes les bibliothèques et peut être longue. Limitez-vous à la bibliothèque qui vous intéresse.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
OPTION |
VARCHAR(13) | 'DBXREF' | Option |
LIBRARY_NAME |
VARCHAR(10) | '*ALL' | Nom de la bibliothèque |
Colonnes renvoyées (9)
Afficher les 9 colonnes
| Colonne | Type | Signification |
|---|---|---|
LIBRARY_NAME |
VARCHAR(10) | Nom de la bibliothèque |
OBJECT_NAME |
VARCHAR(10) | Nom de l'objet |
OBJECT_TYPE |
VARCHAR(30) | Type de l'objet |
SEVERITY |
VARCHAR(7) | Gravité |
CATEGORY |
VARCHAR(20) | Catégorie |
DESCRIPTION |
VARCHAR(250) | Description |
DETAIL |
VARCHAR(128) | Détail |
CATALOG_LIBRARY |
VARCHAR(10) | Bibliothèque du catalogue |
CATALOG_NAME |
VARCHAR(10) | Nom du catalogue |