Maison  >  Article  >  base de données  >  Analyse et solutions aux raisons pour lesquelles le timing des tâches planifiées Oracle n'est pas valide

Analyse et solutions aux raisons pour lesquelles le timing des tâches planifiées Oracle n'est pas valide

WBOY
WBOYavant
2022-09-14 17:54:493540parcourir

Cet article vous apporte des connaissances pertinentes sur Oracle. Il s'avère que les données du système n'ont pas été mises à jour. Vérifiez les tâches planifiées par Oracle et il est estimé qu'elles n'ont pas été exécutées. Ce qui suit présente l'analyse et les solutions aux raisons. pourquoi les tâches planifiées par Oracle ne sont pas valides. J'espère que cela aidera tout le monde.

Analyse et solutions aux raisons pour lesquelles le timing des tâches planifiées Oracle n'est pas valide

Tutoriel recommandé : "Tutoriel vidéo Oracle"

Création de tâches planifiées Oracle. Les tâches planifiées n'ont pas été exécutées à temps

Étant donné que le projet doit synchroniser d'autres bases de données système, après avoir créé le dblink et les procédures stockées, une nouvelle a été créée. Pour la tâche dbm_job, alors que je m'attendais à quitter le travail plus tôt, j'ai constaté que la tâche planifiée n'était pas exécutée en fonction de l'heure.

Création d'une tâche planifiée JOB (63) La tâche planifiée n'a pas été exécutée

Analyse de la cause :

Peut-être que la base de données n'a pas activé la fonction JOB, nous avons donc cherché une solution dans ce sens.

Solution :

Après avoir consulté les informations, j'ai constaté qu'il existe un paramètre job_queue_processes avec un numéro de 0, ce qui signifie que les tâches planifiées ne seront pas exécutées. La requête SQL est la suivante :

select value from v$parameter where name like '%job_queue_processes%';

Modifiez le paramètre job_queue_processes en. être supérieur à 0. Je l'ai défini sur 10 ici (vous pouvez l'ajuster de manière appropriée). Augmentez-le)

alter system set job_queue_processes =10;

Retestez à nouveau :

Ajouté :Le paramètre job_queue_processes semble être un processus de file d'attente de tâches planifié que j'ai vérifié. les informations et ajouté ce qui suit :

1. La plage de valeurs de job_queue_processes est de 0 à 1 000, au total. Le nombre de processus de travail pouvant être créés est déterminé par le paramètre job_queue_processes.

2. Lorsque job_queue_processes est supérieur à 1, et lorsque les tâches sont exécutées en parallèle, au moins une est un processus de coordination. Le nombre total ne dépassera pas la valeur de job_queue_processes.

3. La valeur du paramètre job_queue_processes est et DBMS_JOB est partagé avec DBMS_SCHEDULER.

4. Paramètre Job_queue_processes, lorsque la valeur est définie sur 0, les tâches créées de quelque manière que ce soit ne seront pas exécutées.

5. Pour les job_queue_processes de valeur non nulle, le nombre de sous-processus de tâches peut être ajusté automatiquement en fonction des ressources disponibles, de la méthode de configuration des ressources et du nombre de tâches en cours d'exécution.

6. De plus, la méthode des tâches du planificateur est également limitée par le réglage de l'attribut du planificateur MAX_JOB_SLAVE_PROCESSES.

7. Vous pouvez définir max_job_slave_processes via DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE

Tutoriel recommandé : "Tutoriel vidéo Oracle"

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer