Heim Datenbank Oracle So führen Sie gespeicherte Prozeduren in Oracle regelmäßig aus

So führen Sie gespeicherte Prozeduren in Oracle regelmäßig aus

Apr 18, 2023 pm 02:09 PM

Bei Anwendungen auf Unternehmensebene können wir uns nicht einfach darauf verlassen, dass Benutzer manuelle Vorgänge ausführen, um die erforderliche Funktionalität zu erreichen. Daher sind geplante Aufgaben unerlässlich, die besonders für die Hintergrundverarbeitung und das Laden von Daten nützlich sind. Die Oracle-Datenbank bietet gespeicherte Prozeduren und geplante Aufgaben, um die Arbeit von Entwicklern und Administratoren zu vereinfachen. In diesem Artikel konzentrieren wir uns auf die Methode, mit der von Oracle geplanten Aufgaben regelmäßig gespeicherte Prozeduren auszuführen.

Geplante Oracle-Aufgaben

Geplante Aufgaben in der Oracle-Datenbank können mit dem DBMS_SCHEDULER-Paket erstellt werden. Mit diesem Paket können wir Jobs mit komplexen Planungsanforderungen erstellen. Es kann verschiedene Frequenzen unterstützen, z. B. stündlich, täglich, wöchentlich, monatlich, jährlich usw. Geplante Aufgaben können auch an einem bestimmten Datum und einer bestimmten Uhrzeit oder sogar in verschiedenen Zeitzonen ausgeführt werden. Die folgenden Objekttypen können mit dem DBMS_SCHEDULER-Paket erstellt werden.

  • Job: Eine Aufgabeneinheit, die beim Ausführen der Funktion DBMS_SCHEDULER.CREATE_JOB erstellt und vom Scheduler regelmäßig oder auf Anfrage geplant wird.
  • Job-Klasse: Eine Gruppe verwandter Aufgaben, für die dieselbe Regel zur Begrenzung des Ressourcenverbrauchs gilt.
  • Ressourcenverbrauchsgrenze (Ressourcenverbrauch): Wird zur Steuerung der Ressourcenverbrauchsregeln von Jobs und Jobklassen verwendet.
  • Kette: Eine Folge von Jobs, bei der der Abschluss eines Jobs die Ausführung eines anderen Jobs auslöst.
  • Sitzung: Der mit einer Jobausführung verbundene Prozess. Sitzungen können protokolliert und überwacht werden, um die Auftragsausführung zu verstehen.

In diesem Artikel konzentrieren wir uns darauf, wie Sie mit DBMS_SCHEDULER einen Job erstellen und ihn an die gespeicherte Prozedur binden, die wir ausführen möchten.

Erstellen Sie eine gespeicherte Prozedur

Wir müssen zunächst eine gespeicherte Prozedur erstellen, um den Aufgabenvorgang auszuführen, den wir abschließen möchten. Unten sehen Sie ein einfaches Beispiel einer gespeicherten Prozedur, die die aktuelle Uhrzeit in eine Tabelle einfügt.

CREATE OR REPLACE PROCEDURE INSERT_TIME
AS 
BEGIN
  INSERT INTO TIME_LOG (LOG_TIME) VALUES (SYSDATE);
  COMMIT;
END INSERT_TIME;
Nach dem Login kopieren

Job erstellen

Mit der gespeicherten Prozedur müssen wir als Nächstes einen Job erstellen, um dessen Ausführung zu planen. Der Job, den wir erstellen werden, fügt jeden Morgen um 6 Uhr die aktuelle Uhrzeit ein. Nachfolgend finden Sie ein Beispiel für die Verwendung der Funktion DBMS_SCHEDULER.CREATE_JOB zum Erstellen dieses Jobs.

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;
Nach dem Login kopieren

Wenn wir die Funktion CREATE_JOB zum Erstellen eines Jobs verwenden, müssen wir die folgenden Parameterbeschreibungen befolgen:

  • job_name: Der Name des Jobs, der eindeutig sein muss.
  • job_type: Die Art des Jobs, normalerweise „STORED_PROCEDURE“.
  • job_action: Der Name der gespeicherten Prozedur, des Pakets oder der ausführbaren Datei, die vom Job ausgeführt werden soll.
  • start_date: Die Startzeit des Jobs, die ein Datum oder ein Zeitstempel sein kann. Wenn nicht angegeben, wird standardmäßig die aktuelle Zeit verwendet.
  • repeat_interval: Geben Sie die Ausführungshäufigkeit und das Zeitintervall des Jobs an. In diesem Beispiel bedeutet „FREQ=DAILY; BYHOUR=6;“, dass es jeden Tag um 6 Uhr morgens ausgeführt wird. Weitere Optionen sind stündlich, wöchentlich, monatlich, jährlich usw. Wir können diesen Parameter auch verwenden, um die Tage anzugeben, an denen der Job ausgeführt werden soll, beispielsweise jeden Montag, Dienstag und Donnerstag.
  • enabled: Gibt an, ob der Job aktiviert ist.
  • Kommentare: Eine kurze Beschreibung der Aufgabe.

Job an gespeicherte Prozedur binden

Im obigen Beispiel haben wir einen Job erstellt und die gespeicherte Prozedur für seine Ausführung angegeben. Jetzt müssen wir diesen Job an unsere gespeicherte Prozedur binden, damit er den Vorgang zu einem bestimmten Zeitpunkt ausführt. Wir können die Funktion DBMS_SCHEDULER.SET_ATTRIBUTE verwenden, um diese Aufgabe zu erfüllen.

BEGIN
  DBMS_SCHEDULER.SET_ATTRIBUTE (
          name => 'INSERT_TIME_JOB',
          attribute => 'program_action',
          value => 'INSERT_TIME;');
END;
Nach dem Login kopieren

In diesem Beispiel verwenden wir die Funktion SET_ATTRIBUTE, um das Attribut „program_action“ des Jobs „INSERT_TIME_JOB“ auf „INSERT_TIME“ zu setzen. Dadurch wird DBMS_SCHEDULER angewiesen, die gespeicherte Prozedur INSERT_TIME zu einem bestimmten Zeitpunkt aufzurufen.

Wir haben gelernt, wie man das DBMS_SCHEDULER-Paket verwendet, um geplante Jobs zu erstellen und Aufgaben in gespeicherten Prozeduren zu binden. Jetzt können wir auf die Ausführung der geplanten Aufgabe warten und die Datensätze in der Tabelle TIME_LOG anzeigen.

Fazit

Die Verwendung der Funktion für geplante Aufgaben der Oracle-Datenbank kann uns dabei helfen, Hintergrundverarbeitungsaufgaben einfach auszuführen. Das DBMS_SCHEDULER-Paket bietet viele Optionen, um unsere spezifischen Anwendungsanforderungen zu erfüllen, wie z. B. wiederholte Ausführung, parallele Ausführung, Wiederherstellung nach Fehlern usw. Darüber hinaus besteht die Möglichkeit, Aufträge über verschiedene Zeitzonen, Daten, Wochen, Monate usw. hinweg auszuführen, was geplante Aufgaben sehr flexibel macht. In diesem Artikel konzentrieren wir uns darauf, wie Sie die geplanten Aufgaben von Oracle nutzen können, um gespeicherte Prozeduren regelmäßig auszuführen. Wir hoffen, dass dieser Artikel Ihnen nützliche Hinweise geben und Ihnen helfen kann, die Verwendungs- und Betriebsprinzipien geplanter Aufgaben auf Basis der Oracle-Datenbank besser zu verstehen.

Das obige ist der detaillierte Inhalt vonSo führen Sie gespeicherte Prozeduren in Oracle regelmäßig aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich Cursor in PL/SQL, um mehrere Datenzeilen zu verarbeiten? Wie verwende ich Cursor in PL/SQL, um mehrere Datenzeilen zu verarbeiten? Mar 13, 2025 pm 01:16 PM

In diesem Artikel werden PL/SQL Cursor für die Zeilen-für-Reihen-Datenverarbeitung erläutert. Es beschreibt die Cursor -Erklärung, Öffnung, Abholung und Schließen, Vergleich von impliziten, expliziten und Ref Cursors. Techniken zur effizienten großen Datensatzhandhabung und Verwendung für Schleifen

Was sind die häufig verwendeten Segmente in Oracle -Datenbanken? Was sind die häufig verwendeten Segmente in Oracle -Datenbanken? Mar 04, 2025 pm 06:08 PM

In diesem Artikel werden Oracle Database -Segmenttypen (Daten, Index, Rollback, Temporary), deren Leistungsimplikationen und Management untersucht. Es wird hervorgehoben, dass die Auswahl geeigneter Segmenttypen basierend auf Workload- und Datenmerkmalen für eine optimale Effizienz basiert

Was sind die Tools für Leistungstests für Oracle -Datenbanken? Was sind die Tools für Leistungstests für Oracle -Datenbanken? Mar 04, 2025 pm 06:11 PM

In diesem Artikel werden Oracle Database Performance Testing Tools untersucht. In der Auswahl des richtigen Tools basierend auf Budget, Komplexität und Funktionen wie Überwachung, Diagnose, Workload -Simulation und Berichterstattung. Der Artikel beschreibt auch effektive BO

So laden Sie die Oracle -Datenbank herunter So laden Sie die Oracle -Datenbank herunter Mar 04, 2025 pm 06:07 PM

Dieser Artikel führt Benutzer durch das Herunterladen von Oracle -Datenbank. Es beschreibt den Prozess und betont die Auswahl der Ausgabe (Express, Standard, Unternehmen), Plattformkompatibilität und Lizenzvereinbarung. Systemanforderungen und Editionsanpassung

Was sind die Oracle Database Installation Client -Tools? Was sind die Oracle Database Installation Client -Tools? Mar 04, 2025 pm 06:09 PM

In diesem Artikel werden Oracle Database -Client -Tools untersucht, die für die Interaktion mit Oracle -Datenbanken ohne vollständige Serverinstallation unerlässlich sind. Es werden häufig verwendet

Welche Standard -Tablespaces bietet die Oracle -Datenbank? Welche Standard -Tablespaces bietet die Oracle -Datenbank? Mar 04, 2025 pm 06:10 PM

In diesem Artikel werden die Standard -Tabellenspaces von Oracle (System, Sysaux, Benutzer), ihre Merkmale, Identifikationsmethoden und Leistungsauswirkungen untersucht. Es argumentiert sich gegen die Stütze auf Ausfälle und betont, wie wichtig es ist, separate Tabellensprespac zu erstellen

Wie erstelle ich Benutzer und Rollen in Oracle? Wie erstelle ich Benutzer und Rollen in Oracle? Mar 17, 2025 pm 06:41 PM

In dem Artikel wird erläutert, wie Benutzer und Rollen in Oracle mithilfe von SQL -Befehlen erstellt werden, und erörtert Best Practices für die Verwaltung von Benutzerberechtigungen, einschließlich der Verwendung von Rollen, nach dem Prinzip der geringsten Privilegien und regelmäßigen Audits.

Wie verwende ich Oracle -Datenmaskierung und -sensabschlüsselung, um sensible Daten zu schützen? Wie verwende ich Oracle -Datenmaskierung und -sensabschlüsselung, um sensible Daten zu schützen? Mar 13, 2025 pm 01:19 PM

In diesem Artikel werden die Oracle -Datenmaskierung und -Subettierung (DMS) beschrieben, eine Lösung zum Schutz sensibler Daten. Es umfasst die Identifizierung sensibler Daten, die Definition von Maskierungsregeln (Mischung, Substitution, Randomisierung), Aufbau von Arbeitsplätzen, Überwachung und Bereitstellung

See all articles