ORA-00604: error occurred at recursive SQL level (erreur au niveau du SQL récursif)
OracleQue signifie cette erreur ?
Une erreur s'est produite lors du SQL récursif qu'Oracle exécute en interne en arrière-plan. Il s'agit d'une erreur d'enveloppe (externe) qui masque l'erreur réelle ; la vraie cause se trouve dans le second code d'erreur affiché juste en dessous.
Cause
Accès au dictionnaire de données, trigger DDL en échec, tablespace SYSTEM plein, espace temporaire insuffisant, objet du dictionnaire de données corrompu, ou trigger LOGON en échec exécuté à la connexion de la session.
Comment la corriger
Lisez la deuxième ligne qui suit ORA-00604 dans la pile d'erreurs ; c'est la vraie cause, corrigez-la. Par exemple, si vous voyez ORA-01653, étendez le tablespace. Si un trigger DDL/LOGON est suspect, désactivez-le temporairement : ALTER TRIGGER trigger_name DISABLE; Vérifiez l'utilisation des tablespaces SYSTEM et TEMP avec DBA_FREE_SPACE.
Autres entrées pour ce moteur
- buffer busy waitsAttente : contention sur un buffer déjà en cours de lecture ou de modification par une autre session
- gc buffer busyAttente (RAC) : contention sur un bloc cache fusion en cours de transfert entre instances
- library cache lockAttente : contention sur un handle d'objet du library cache (sérialisation parse/DDL)
- ORA-01438value larger than specified precision allowed for this column (valeur supérieure à la précision autorisée pour la colonne)
- ORA-01400cannot insert NULL into (column) (insertion de NULL impossible dans la colonne)
- ORA-02291integrity constraint violated - parent key not found (contrainte d'intégrité violée : clé parente introuvable)
- ORA-02292integrity constraint violated - child record found (contrainte d'intégrité violée : enregistrement enfant trouvé)