Gestion de bases de données

SYS.DBMS_SCHEDULER .CREATE_JOB renvoie ORA-00904: ORA-06512: at "SYS.DBMS_ISCHED" ORA-06512: at "

S'APPLIQUE À : Oracle Database - Enterprise Edition

Oracle Database - Enterprise Edition - Version 10.2.0.4 et ultérieures
Les informations de ce document s'appliquent à toutes les plateformes.
*** Pertinence vérifiée le 25-Sept-2014 ***
*** Pertinence vérifiée le 22-Mar-2016 ***

SYMPTÔMES : ORA-6512; ORA-904

Erreur lors de la création d'une tâche avec DBMS_SCHEDULER :

SYS.DBMS_SCHEDULER.CREATE_JOB
(job_name => 'EDI.ACH_JOB',schedule_name => 'EDI.SUN0200',
program_name => 'EDI.ACH_PROG',
comments => NULL);

BEGIN SYS.DBMS_SCHEDULER.CREATE_JOB
(job_name => 'EDI.ACH_JOB',
schedule_name => 'EDI.SUN0200',
program

*
ERROR at line 1:
ORA-00904: : invalid identifier
ORA-06512: at "SYS.DBMS_ISCHED", line 99
ORA-06512: at "SYS.DBMS_SCHEDULER", line 319
ORA-06512: at line 1


Impossible d'exécuter la commande ultrp.sql sans obtenir d'erreur.
Les résultats de dba_registry montraient que de nombreux composants (en particulier CATPROC) étaient invalides.

CAUSE : dictionnaire de données, objets du planificateur

Problèmes touchant le dictionnaire de données et les objets du planificateur (scheduler).

SOLUTION

Assurez-vous de disposer d'une sauvegarde récente et fonctionnelle de la base de données, puis :

​
startup upgrade as sysdba:

1. $ORACLE_HOME/rdbms/admin/catnomwn.sql
2. $ORACLE_HOME/rdbms/admin/catnosch.sql
3. $ORACLE_HOME/rdbms/admin/catsch.sql
4. $ORACLE_HOME/rdbms/admin/catmwin.sql
5. $ORACLE_HOME/rdbms/admin/utlrp.sql

​

Si les composants CATALOG ou CATPROC restent invalides (Invalid) dans dba_registry, vous devrez peut-être recréer le dictionnaire de données.

$ORACLE_HOME/rdbms/admin/catalog.sql
$ORACLE_HOME/rdbms/admin/catproc.sql

REMARQUE : veillez à sauvegarder les définitions de vos tâches avant d'appliquer le plan d'action ci-dessus. Comme il les supprime, vous devrez ensuite rajouter toutes les tâches dans le planificateur.