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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Sujets chauds











En plus de SQL * Plus, il existe des outils pour faire fonctionner les bases de données Oracle: développeur SQL: outils gratuits, convivial d'interface, et supporter les opérations graphiques et le débogage. Tapon: outils commerciaux, riche en fonctionnalités, excellent dans la gestion et le réglage des bases de données. Développeur PL / SQL: outils puissants pour le développement PL / SQL, l'édition de code et le débogage. DBEAVER: outil Open Source gratuit, prend en charge plusieurs bases de données et a une interface simple.

Les solutions à Oracle ne peuvent pas être ouvertes comprennent: 1. Démarrer le service de base de données; 2. Commencez l'auditeur; 3. Vérifiez les conflits portuaires; 4. Définir correctement les variables d'environnement; 5. Assurez-vous que le pare-feu ou le logiciel antivirus ne bloque pas la connexion; 6. Vérifiez si le serveur est fermé; 7. Utilisez RMAN pour récupérer les fichiers corrompus; 8. Vérifiez si le nom du service TNS est correct; 9. Vérifier la connexion réseau; 10. Réinstaller le logiciel Oracle.

La méthode pour résoudre le problème de fermeture du curseur Oracle comprend: la fermeture explicite du curseur à l'aide de l'instruction Close. Déclarez le curseur dans la clause de mise à jour pour la fermeture automatiquement après la fin de la portée. Déclarez le curseur dans la clause d'utilisation afin qu'il se ferme automatiquement lorsque la variable PL / SQL associée est fermée. Utilisez la gestion des exceptions pour vous assurer que le curseur est fermé dans toute situation d'exception. Utilisez le pool de connexion pour fermer automatiquement le curseur. Désactiver la soumission automatique et le délai de fermeture du curseur.

Dans Oracle, la boucle pour la boucle pour créer des curseurs dynamiquement. Les étapes sont: 1. Définissez le type de curseur; 2. Créez la boucle; 3. Créez le curseur dynamiquement; 4. Exécuter le curseur; 5. Fermez le curseur. Exemple: un curseur peut être créé de cycle par circuit pour afficher les noms et salaires des 10 meilleurs employés.

Il n'y a pas de raccourcis vers l'apprentissage des bases de données Oracle. Vous devez comprendre les concepts de base de données, maîtriser les compétences SQL et vous améliorer continuellement grâce à la pratique. Tout d'abord, nous devons comprendre le mécanisme de stockage et de gestion de la base de données, de maîtriser les concepts de base tels que les tables, les lignes et les colonnes, et des contraintes telles que les clés primaires et les clés étrangères. Ensuite, grâce à la pratique, installez la base de données Oracle, commencez à pratiquer avec des instructions de sélection simples et maîtrisez progressivement diverses instructions SQL et syntaxe. Après cela, vous pouvez apprendre des fonctionnalités avancées telles que PL / SQL, optimiser les instructions SQL et concevoir une architecture de base de données efficace pour améliorer l'efficacité et la sécurité de la base de données.

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Pour afficher les bases de données Oracle, vous pouvez utiliser SQL * Plus (à l'aide de commandes Select), SQL Developer (Graphy Interface) ou System View (affichage des informations internes de la base de données). Les étapes de base incluent la connexion à la base de données, le filtrage des données à l'aide de sélections et l'optimisation des requêtes pour les performances. De plus, la vue système fournit des informations détaillées sur la base de données, qui aide à surveiller et à dépanner. Grâce à la pratique et à l'apprentissage continu, vous pouvez profondément explorer la base de données Mystery of Oracle.

Les séquences Oracle sont utilisées pour générer des séquences de nombres uniques, généralement utilisées comme clés ou identifiants primaires. La création d'une séquence nécessite de spécifier le nom de séquence, la valeur de démarrage, la valeur incrémentale, la valeur maximale, la valeur minimale, la taille du cache et les drapeaux de boucle. Lorsque vous utilisez une séquence, utilisez le mot-clé NextVal pour obtenir la valeur suivante de la séquence.
