Dba invalid objects
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script SQL*Plus de diagnostic |
| Domaine | Administration (dictionnaire de données) |
| Voir aussi | Dba invalid objects summary |
Dba invalid objects liste, objet par objet, tous les objets en statut invalide dans la base (vue dba_objects, colonne status). Pour une vue agrégée par propriétaire et par type plutôt que le détail exhaustif, voir Dba invalid objects summary.
Script
SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT RPAD(instance_name, 17) current_instance FROM v$instance;
SET TERMOUT ON
PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Report : Invalid Objects |
PROMPT | Instance : ¤t_instance |
PROMPT +------------------------------------------------------------------------+
SET ECHO OFF
SET FEEDBACK 6
SET HEADING ON
SET LINESIZE 180
SET PAGESIZE 50000
SET VERIFY OFF
COLUMN owner FORMAT a25 HEADING 'Owner'
COLUMN object_name FORMAT a30 HEADING 'Object Name'
COLUMN object_type FORMAT a20 HEADING 'Object Type'
COLUMN status FORMAT a10 HEADING 'Status'
BREAK ON owner SKIP 2 ON report
COMPUTE count LABEL "" OF object_name ON owner
COMPUTE count LABEL "Grand Total: " OF object_name ON report
SELECT
owner
, object_name
, object_type
, status
FROM dba_objects
WHERE status <> 'VALID'
ORDER BY owner, object_name
/
Colonnes / sortie
- Owner / Object Name / Object Type — identification complète de l'objet invalide.
- Status — le plus souvent
INVALID(objet PL/SQL, vue ou synonyme dont la compilation a échoué suite à un changement de dépendance). - Un sous-total par propriétaire et un total général sont calculés via
BREAK/COMPUTE.
Une invalidation n'est pas nécessairement grave : elle est souvent transitoire (Oracle recompile automatiquement à la première utilisation) et fréquente juste après un DDL sur une table référencée par des vues/procédures. Un objet qui reste invalide après un EXEC DBMS_UTILITY.COMPILE_SCHEMA (ou utlrp.sql après un patch) signale en revanche une vraie erreur de compilation à corriger.
Voir aussi
- Dba invalid objects summary — même diagnostic sous forme de compteurs agrégés par propriétaire/type