Maison >base de données >Oracle >Comment réparer la tâche planifiée Oracle a échoué 16 fois
Les raisons de l'échec de la tâche cron Oracle 16 fois peuvent inclure un package non valide, des autorisations utilisateur insuffisantes, une inactivité de la base de données ou des ressources insuffisantes. Les étapes de réparation comprennent : 1. Vérifier la validité du package ; 2. Vérifier les autorisations des utilisateurs ; 3. Vérifier l'état de la base de données ; 4. Surveiller l'utilisation des ressources ; 6. Réinitialiser les tâches planifiées ;
La tâche planifiée Oracle a échoué 16 fois
Cause du problème
La raison pour laquelle la tâche planifiée Oracle a échoué 16 fois peut être due aux problèmes suivants :
Étapes de correction
1. Vérifiez la validité du package
Exécutez la commande suivante à partir de l'invite de commande :
<code class="sql">SELECT object_name, status FROM dba_objects WHERE object_type='PACKAGE' AND status='INVALID';</code>
Si vous trouvez des packages non valides, recompilez-les ou rechargez-les.
2. Vérifiez les autorisations de l'utilisateur
Utilisez la commande suivante pour vérifier les autorisations de l'utilisateur pour exécuter les tâches planifiées :
<code class="sql">SELECT granted_role FROM dba_role_privs WHERE grantee = '<user_name>';</code>
Assurez-vous que l'utilisateur dispose des autorisations d'exécution sur les objets concernés.
3. Vérifiez l'état de la base de données
Vérifiez l'état de la base de données à l'aide de la commande suivante :
<code class="sql">SELECT open_mode FROM v$database;</code>
Si le résultat est « LECTURE SEULEMENT » ou si la base de données est fermée, veuillez redémarrer la base de données.
4. Surveiller l'utilisation des ressources
Utilisez la commande suivante pour surveiller l'utilisation des ressources de la base de données :
<code class="sql">SELECT name, busy_time, wait_time, time_waited FROM v$active_session_history;</code>
Si les tâches planifiées ont une forte demande de ressources, veuillez envisager d'optimiser le code ou d'augmenter l'allocation des ressources de la base de données.
5. Diagnostiquer les autres exceptions
Si les étapes ci-dessus ne résolvent pas le problème, vérifiez le fichier journal Oracle (/oracle/[db_name]/trace/[trace_file].dbf) pour d'autres exceptions.
6. Réinitialisez la tâche planifiée
Réinitialisez la tâche planifiée :
<code class="sql">BEGIN SYS.DBMS_SCHEDULER.DISABLE('<job_name>'); SYS.DBMS_SCHEDULER.DROP_JOB('<job_name>'); END; /</code>
Recréez ensuite la tâche planifiée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!