Vous pouvez interroger les dba_errors
vue, ou les all_errors
voir, directement; le SQL*Plus show errors
la commande semble être un wrapper autour de cela de toute façon.
select line, position, attribute, text
from dba_errors
where owner = 'SYS'
and type = 'VIEW'
and name = 'DBA_XML_SCHEMAS'
order by sequence;
Mais en fonction de ce que show errors
vous dit, cela affichera juste la même chose, erreur "ORA-00942 :la table ou la vue n'existe pas" de la ligne 0 position 0.
Cela n'a pas beaucoup de sens, mais les vues internes sont parfois des choses étranges, et tenter d'en recompiler une n'est probablement pas une bonne idée.
Vous devrez peut-être demander à votre administrateur de base de données d'exécuter utlrp.sql
pour recompiler tous les objets invalides dans la base de données. Comme pour tout ce que vous pensez faire sous le schéma SYS, cela doit être fait avec précaution; et seulement si la sélection dans la vue indique toujours qu'elle n'est pas valide et que la recompilation a échoué.