Maison base de données Oracle Comment exécuter régulièrement des procédures stockées dans Oracle

Comment exécuter régulièrement des procédures stockées dans Oracle

Apr 18, 2023 pm 02:09 PM

Dans les applications de niveau entreprise, nous ne pouvons pas simplement compter sur les utilisateurs pour effectuer des opérations manuelles afin d'obtenir les fonctionnalités requises. Par conséquent, les tâches planifiées sont essentielles, particulièrement utiles pour effectuer le traitement en arrière-plan et le chargement des données. La base de données Oracle fournit des procédures stockées et des tâches planifiées pour simplifier le travail des développeurs et des administrateurs. Dans cet article, nous nous concentrerons sur la méthode d'utilisation des tâches planifiées Oracle pour exécuter régulièrement des procédures stockées.

Tâches planifiées Oracle

Les tâches planifiées dans la base de données Oracle peuvent être créées à l'aide du package DBMS_SCHEDULER. Ce package nous permet de créer des emplois avec des exigences de planification complexes. Il peut prendre en charge diverses fréquences telles que horaires, quotidiennes, hebdomadaires, mensuelles, annuelles, etc. Les tâches planifiées peuvent également être exécutées à une date et une heure spécifiques, ou même dans des fuseaux horaires différents. Les types d'objets suivants peuvent être créés à l'aide du package DBMS_SCHEDULER.

  • Job : Une unité de tâche créée lors de l'exécution de la fonction DBMS_SCHEDULER.CREATE_JOB, planifiée par le planificateur régulièrement ou sur demande.
  • Classe de travail : un groupe de tâches connexes qui partagent la même règle de limite de consommation de ressources.
  • Limite de consommation de ressources : règles de consommation de ressources utilisées pour contrôler les emplois et les catégories d'emplois.
  • Chaîne : une séquence de tâches dans laquelle l'achèvement d'une tâche déclenche l'exécution d'une autre tâche.
  • Session : Le processus associé à l'exécution d'un travail. Les sessions peuvent être enregistrées et surveillées pour comprendre l'exécution des tâches.

Dans cet article, nous nous concentrerons sur la façon d'utiliser DBMS_SCHEDULER pour créer un travail et le lier à la procédure stockée que nous souhaitons exécuter.

Créer une procédure stockée

Nous devons d'abord créer une procédure stockée pour effectuer l'opération de tâche que nous souhaitons effectuer. Vous trouverez ci-dessous un exemple simple de procédure stockée qui insérera l'heure actuelle dans une table.

CREATE OR REPLACE PROCEDURE INSERT_TIME
AS 
BEGIN
  INSERT INTO TIME_LOG (LOG_TIME) VALUES (SYSDATE);
  COMMIT;
END INSERT_TIME;
Copier après la connexion

Créer un travail

Avec la procédure stockée en main, nous devons ensuite créer un travail pour planifier son exécution. Le travail que nous allons créer insérera l'heure actuelle chaque matin à 6 heures. Vous trouverez ci-dessous un exemple d'utilisation de la fonction DBMS_SCHEDULER.CREATE_JOB pour créer ce travail.

BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
          job_name        => 'INSERT_TIME_JOB',
          job_type        => 'STORED_PROCEDURE',
          job_action      => 'INSERT_TIME',
          start_date      => SYSTIMESTAMP,
          repeat_interval => 'FREQ=DAILY; BYHOUR=6;',
          enabled         => TRUE,
          comments        => 'Insert current time every day at 6 AM');
END;
Copier après la connexion

Lorsque nous utilisons la fonction CREATE_JOB pour créer un travail, nous devons suivre les descriptions des paramètres suivants :

  • job_name : Le nom du travail, qui doit être unique.
  • job_type : Le type de travail, généralement "STORED_PROCEDURE".
  • job_action : Le nom de la procédure stockée, du package ou du fichier exécutable à exécuter par le travail.
  • start_date : L'heure de début du travail, qui peut être une date ou un horodatage. S’il n’est pas spécifié, la valeur par défaut est l’heure actuelle.
  • repeat_interval : Spécifiez la fréquence d'exécution et l'intervalle de temps du travail. Dans cet exemple, "FREQ=DAILY; BYHOUR=6;" signifie qu'il est exécuté tous les jours à 6 heures du matin. D'autres options incluent horaire, hebdomadaire, mensuel, annuel, etc. Nous pouvons également utiliser ce paramètre pour spécifier les jours où le travail doit être exécuté, par exemple tous les lundis, mardis et jeudis.
  • enabled : indique si la tâche est activée.
  • commentaires : Une brève description de la mission.

Lier le travail à la procédure stockée

Dans l'exemple ci-dessus, nous avons créé un travail et spécifié la procédure stockée pour son exécution. Maintenant, nous devons lier ce travail à notre procédure stockée afin qu'elle exécute l'opération à l'heure spécifiée. Nous pouvons utiliser la fonction DBMS_SCHEDULER.SET_ATTRIBUTE pour accomplir cette tâche.

BEGIN
  DBMS_SCHEDULER.SET_ATTRIBUTE (
          name => 'INSERT_TIME_JOB',
          attribute => 'program_action',
          value => 'INSERT_TIME;');
END;
Copier après la connexion

Dans cet exemple, nous utilisons la fonction SET_ATTRIBUTE pour définir l'attribut "program_action" du travail "INSERT_TIME_JOB" sur "INSERT_TIME". Cela indiquera à DBMS_SCHEDULER d'appeler la procédure stockée INSERT_TIME à une heure précise.

Nous avons appris à utiliser le package DBMS_SCHEDULER pour créer des tâches planifiées et lier des tâches dans des procédures stockées. Maintenant, nous pouvons attendre que la tâche planifiée s'exécute et afficher les enregistrements dans la table TIME_LOG.

Conclusion

L'utilisation de la fonction de tâche planifiée de la base de données Oracle peut nous aider à effectuer facilement des tâches de traitement en arrière-plan. Le package DBMS_SCHEDULER offre de nombreuses options pour répondre aux besoins spécifiques de nos applications, telles que l'exécution répétée, l'exécution parallèle, la reprise après échec, etc. De plus, il a la capacité d'exécuter des tâches sur différents fuseaux horaires, dates, semaines, mois, etc., ce qui rend les tâches planifiées très flexibles. Dans cet article, nous nous concentrons sur la façon d'utiliser les tâches planifiées d'Oracle pour exécuter régulièrement des procédures stockées. Nous espérons que cet article pourra vous fournir des conseils utiles et vous aider à mieux comprendre les principes d'utilisation et de fonctionnement des tâches planifiées basées sur la base de données 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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer des utilisateurs et des rôles dans Oracle? Comment créer des utilisateurs et des rôles dans Oracle? Mar 17, 2025 pm 06:41 PM

L'article explique comment créer des utilisateurs et des rôles dans Oracle à l'aide de commandes SQL, et discute des meilleures pratiques pour gérer les autorisations des utilisateurs, y compris l'utilisation des rôles, en suivant le principe des moindres privilèges et des audits réguliers.

Comment effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt? Comment effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt? Mar 17, 2025 pm 06:39 PM

L'article traite des méthodes pour effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt en utilisant RMAN, les meilleures pratiques pour réduire les temps d'arrêt, assurer la cohérence des données et surveiller les progrès de la sauvegarde.

Comment configurer le chiffrement dans Oracle à l'aide du chiffrement transparent des données (TDE)? Comment configurer le chiffrement dans Oracle à l'aide du chiffrement transparent des données (TDE)? Mar 17, 2025 pm 06:43 PM

L'article décrit les étapes pour configurer le chiffrement transparent des données (TDE) dans Oracle, détaillant la création du portefeuille, permettant le TDE et le chiffrement des données à différents niveaux. Il discute également des avantages de TDE comme la protection et la conformité des données, et comment Veri

Comment utiliser le référentiel de charge de travail automatique (AWR) et le moniteur de diagnostic de base de données automatique (ADDM) dans Oracle? Comment utiliser le référentiel de charge de travail automatique (AWR) et le moniteur de diagnostic de base de données automatique (ADDM) dans Oracle? Mar 17, 2025 pm 06:44 PM

L'article explique comment utiliser AWR et ADDM d'Oracle pour l'optimisation des performances de la base de données. Il détaille la génération et l'analyse des rapports AWR, et l'utilisation d'ADDM pour identifier et résoudre les goulots d'étranglement des performances.

Comment utiliser la technologie Flashback pour se remettre de la corruption logique des données? Comment utiliser la technologie Flashback pour se remettre de la corruption logique des données? Mar 14, 2025 pm 05:43 PM

L'article discute de l'utilisation de la technologie Flashback d'Oracle pour se remettre de la corruption logique des données, des étapes de détail de la mise en œuvre et de la garantie de l'intégrité des données après la récupération.

Oracle PL / SQL Deep Dive: Mastering Procédures, fonctions et packages Oracle PL / SQL Deep Dive: Mastering Procédures, fonctions et packages Apr 03, 2025 am 12:03 AM

Les procédures, fonctions et packages dans OraclePL / SQL sont utilisés pour effectuer des opérations, renvoyer des valeurs et organiser le code, respectivement. 1. Le processus est utilisé pour effectuer des opérations telles que la sortie des salutations. 2. La fonction est utilisée pour calculer et renvoyer une valeur, comme le calcul de la somme de deux nombres. 3. Les packages sont utilisés pour organiser des éléments pertinents et améliorer la modularité et la maintenabilité du code, telles que les packages qui gèrent l'inventaire.

Comment créer et gérer des tables, des vues, des index et d'autres objets de base de données dans Oracle? Comment créer et gérer des tables, des vues, des index et d'autres objets de base de données dans Oracle? Mar 14, 2025 pm 05:52 PM

L'article discute de la création et de la gestion d'objets de base de données Oracle comme des tables, des vues et des index à l'aide de commandes SQL. Il couvre les meilleures pratiques d'optimisation des performances, d'assurer l'intégrité et la sécurité des données et l'utilisation d'outils pour l'automatisation.

Comment effectuer des opérations de basculement et de basculement dans Oracle Data Guard? Comment effectuer des opérations de basculement et de basculement dans Oracle Data Guard? Mar 17, 2025 pm 06:37 PM

L'article détaille les procédures de basculement et de basculement dans Oracle Data Guard, soulignant leurs différences, leur planification et leurs tests pour minimiser la perte de données et assurer des opérations en douceur.

See all articles