Comment exécuter régulièrement des procédures stockées dans Oracle
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;
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;
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;
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

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.

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

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.

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.

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.

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.

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.
