oracle scheduler - doag.org · via oracle scheduler agent ! mit oracle 11gr1 wurde der oracle...

37
www.inconso.de Integration Consulting Software Oracle Scheduler „Know it or leave it“ DOAG Konferenz 2013

Upload: others

Post on 03-Nov-2019

27 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

www.inconso.de

IntegrationConsultingSoftware

Oracle Scheduler „Know it or leave it“

DOAG Konferenz 2013

Page 2: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 2

Agenda

1. Vorstellung

2. Der Oracle Scheduler im Überblick

3. Die Oracle Scheduler Views

4. Event-Jobs, File-Events und Callback-Routinen

5. Job-Chains

6. Remote-Job-Execution via Oracle Scheduler Agent

7. Datenbank-Migration und –Updates

8. Kleines Fazit

Page 3: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 3

Das Unternehmen auf einen Blick

Gründung:

Hauptsitz:

Standorte:

2002

Bad Nauheim

10 x in Deutschland, 1 x in Frankreich (Lyon)

Rechtsform:

Aktionäre:

Mitarbeiter:

Aktiengesellschaft

je 50 % Management und Cora GmbH, Hamburg

450

Umsatz 2011:

Rendite:

Finanzierung:

41,9 Mio. €

13 %

Vollständig eigenkapitalfinanziert (Eigenkapitalquote > 65 %)

Handel, Konsumgüterindustrie, Chemie, Pharma, Automotive, Food, Logistikdienstleister, produzierende Industrie

Kernbranchen:

Kunden:

Über 300 Installationen bei mehr als 200 Kunden in 20 Ländern auf allen 5 Kontinenten

Page 4: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 4

Leistungsangebot im Überblick

Dispositive Ebene

Operative Ebene

inconso Logistics Suite

Warehouse Management mit inconsoWMS Product Suite

Transport Management mit inconsoTMS

SCM / SCE Supply Chain Execution mit inconsoSCE

Logistikleitstand und Controlling, SC-Visibility, Event Management

SAP Lösungen

Warehouse Management mit SAP SAP EWM + MFS, SAP LES + TRM

SAP ERP und SAP SCM SAP BUSINESS ALL-IN-ONE für LDL

Integration mit SAP NetWeaver

Transport Management mit SAP SAP TM

Technische Ebene

Technik + Services

Full Managed Application Services

n  Hotline + Support 24/7 n  Test und Inbetriebnahme n  Endgeräte Support n  Rechenzentrumsbetrieb

Mobile + Embedded Solutions

n  Mobile Applications n  Embedded Software n  Fernüberwachung + Steuerung

via Internet

IT + Systemtechnik

n  LAN, WLAN , Mobiler Datenfunk, RFiD, Pick-by-Voice

n  Hochverfügbarkeits-Cluster (Cluster Ware, Oracle RAC, VMWare)

n  Oracle Datenbanken Administration n  Komplette Betriebsführung

der Systeme

Page 5: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 5

Agenda

1. Vorstellung

2. Der Oracle Scheduler im Überblick

3. Die Oracle Scheduler Views

4. Event-Jobs, File-Events und Callback-Routinen

5. Job-Chains

6. Remote-Job-Execution via Oracle Scheduler Agent

7. Datenbank-Migration und –Updates

Page 6: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 6

Oracle Scheduler im Überblick

n  Löst seit Oracle RDBMS 10gR1 DBMS_JOBS ab n  Dient der zeit- oder event-gesteuerten Ausführung von

Datenbankprogrammen n  Das Package dbms_scheduler stellt den Großteil der API zur

Verfügung

Page 7: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 7

Oracle Scheduler im Überblick

n  Alle Scheduler Objekte (Jobs, Programs, Schedules, Chains, etc.) sind Datenbank-Objekte und sind auch deren Regeln und Konventionen unterworfen. n  Sie besitzen einen Eigentümer (Owner) n  Es darf kein anderes Objekt (z.B. eine Tabelle) mit dem

gleichen Namen existieren

n  Empfehlung: Bei größeren Batch-Systemen den Zugriff auf das dbms_scheduler Package durch ein eigenes Interface kapseln

Page 8: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 8

Oracle Scheduler im Überblick

Scheduler Jobs sind im wesentlichen definiert durch

n  Unterschiedliche Job-Typen n  PLSQL_BLOCK n  STORED_PROCEDURE n  EXECUTABLE (Ausführung externer Programme außerhalb der DB) n  CHAIN

n  Einer entsprechenden Aktion und Parameterdefinition n  Einem Ausführungszeitplan (Startzeit und Intervall) oder einem Event

Page 9: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 9

Oracle Scheduler im Überblick

n  Job-Typ, Aktion und Parameter können auch als wiederverwendbares Programm vordefiniert werden

n  Der Ausführungszeitplan kann ebenfalls in ein Schedule-Objekt ausgelagert werden

Achtung: Es wird zwischen Job-Creator und Job-Owner unterschieden!

Page 10: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 10

Oracle Scheduler im Überblick

Schedules n  Sind definiert durch

n  Eine Startzeit (optional!) n  Einem REPEAT_INTERVAL

n  Ermöglicht eine komplexe Definition von Wiederholungszeitpunkten

n  Einfaches Bsp.: FREQ=DAILY; BYHOUR=17; BYMINUTE=45

n  Der REPEAT_INTERVAL (Schedules sind schachtelbar) n  Eine Endzeit, die optional das Ende der Gültigkeit des

Schedules angibt

Page 11: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 11

Oracle Scheduler im Überblick

Achtung n  Bei Definition einer Startzeit, gilt diese als Referenz für

die Berechnung der wiederholenden Startzeiten der Jobs, sonst ist die Startzeit des Jobs die Referenz für diese Berechnung

n  Abhängig vom Intervall wird ein zum berechneten Startzeitpunkt auf disabled stehender Job ggf. nicht sofort gestartet, sobald er enabled wird!

Page 12: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 12

Agenda

1. Vorstellung

2. Der Oracle Scheduler im Überblick

3. Die Oracle Scheduler Views

4. Event-Jobs, File-Events und Callback-Routinen

5. Job-Chains

6. Remote-Job-Execution via Oracle Scheduler Agent

7. Datenbank-Migration und –Updates

Page 13: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 13

Oracle Scheduler Views

Die Scheduler-Views liefern dem Operator Informationen über den Zustand aller definierten und laufenden Jobs.

n  ALL_SCHEDULER_JOBS n  Basis-View mit allen Definitions- und Statusdaten

der Jobs n  ALL_SCHEDULER_RUNNING_JOBS

n  Enthält erweiterte Laufzeit-Informationen, wie z.B. Session-ID, CPU-Nutzung, Instance, etc.

n  Enthält ausschließlich zur Laufzeit des Jobs Einträge

Page 14: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 14

Oracle Scheduler Views

n  ALL_SCHEDULER_RUN_DETAILS n  Wird In der Regel erst nach Beendigung eines Jobs befüllt

(Ausnahme bei den Job-Chains) n  Enthält die Laufzeitdaten aus der RUNNING_JOBS-View

und zusätzliche statistische Daten sowie nochmals Statusinformationen

n  Enthält für jeden Lauf einen Eintrag, somit ist der Jobname hier nicht mehr eindeutig

n  Weitere aber nicht so zentrale Views auf die Definitionsdaten der Scheduler-Objekte: ALL_SCHEDULER_PROGRAMS, ALL_SCHEDULER_SCHEDULES, etc.

Damit der Operator einen kompletten Überblick für eine ausreichende Entscheidungsgrundlage besitzt, müssen die oben benannten Hauptviews gejoint werden (per Outer-Join und Decode)

Page 15: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 15

Oracle Scheduler Views

Performance der Views n  Kritisch bei > 10.000 Jobs n  Case und Decodes n  Union mit Lightwaight-Jobs n  Join der Views häufig

erforderlich n  Cost-Base-Optimizer ist

schnell überfordert n  Führung eigener Metadaten-

Tabellen zur Steigerung der Performance n  Aktualisierung über

Callbacks

Page 16: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 16

Agenda

1. Vorstellung

2. Der Oracle Scheduler im Überblick

3. Die Oracle Scheduler Views

4. Event-Jobs, File-Events und Callback-Routinen

5. Job-Chains

6. Remote-Job-Execution via Oracle Scheduler Agent

7. Datenbank-Migration und –Updates

Page 17: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 17

Event-Jobs, File-Events und Callbacks

Scheduler-Jobs können n  Beim Ändern des Job-Status Events auslösen und darüber

n  Callbacks in der Form von PL/SQL-Prozeduren starten n  E-Mail-Notifikationen auslösen (11gR2)

n  Von anderen Events ausgelöst werden n  Über Event-Messages aus beliebigen n  Advanced Queuing (AQ)-Tables n  Über File-Events (11gR2)

Das gesamte Event-Handling des Schedulers erfolgt über Oracle Advance Queuing (AQ)

Page 18: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 18

Event-Jobs, File-Events und Callbacks

Event-Jobs besaßen bis Oracle 10g eine schwerwiegende Einschränkung n  Ein laufender Event-Job konsumiert alle bestehenden und während seines

Laufes eintreffende Event-Messages. Mehrfach ausgelöste Events führen nur zu einem Job-Durchlauf. Das ist aber nicht immer/selten gewünscht.

n  Oracle 11gR1 führt die Lightweight-Jobs ein und die Möglichkeit darüber parallele Job-Instanzen zur Ausführung von Event-Jobs aufzubauen, wodurch jedes Event durch einen separaten parallelen Job verarbeitet wird

n  Achtung: Das ist auch unter 11gR2 noch nicht der Default!

Page 19: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 19

Event-Jobs, File-Events und Callbacks

File-Events n  Seit Oracle 11gR2 Bestandteil des Oracle

Scheduler (File Watcher) n  Zuvor als inoffizielles FileArrival-Package auf

OTN verfügbar (mit dem es jetzt starke Ähnlichkeiten hat)

Page 20: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 20

Event-Jobs, File-Events und Callbacks

File Events n  Eine File Watcher –Definition umfasst

n  Pfad und Dateinamen (mit Wildcards) der zu überwachenden Datei(en)

n  OS-Credentials für die Zugriffsberechtigung auf die Dateien n  Parameter zur Feinjustierung der Vollständigkeitsprüfung

n  min_file_size – minimale Dateigröße einer vollständigen Datei n  steady_state_duration – Zeitraum ab der eine sich in der

Größe nicht mehr verändernde Date als vollständig gilt

Page 21: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 21

Event-Jobs, File-Events und Callbacks

File-Events n  Die Vollständigkeitsprüfung des File Watchers deckt die meisten Praxis-Fälle

korrekt ab n  Der Erkennung neuer Dateien, die unter gleichen Namen wiederholt eingestellt

werden, kann aber zu Problemen führen n  Je nach OS und oder File-Transfertool kann es bei Dateien mit gleicher

Größe dazu führen, dass kein Event ausgelöst wird! n  Unter Linux z.B. Dateien, die per mv (move)-Befehl erneut eingestellt

werden n  Der cp (Copy)- Befehl funktioniert, da sich damit das

Erstellungsdatum ändert n  Insbesondere beim File Watcher muss der „parallel_instances“ –Parameter

gesetzt werden, sonst kann er Dateien verschlucken!

Page 22: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 22

Event-Jobs, File-Events und Callbacks

Callbacks n  Für jeden Scheduler-Job kann definiert werden, ob und bei welchen

Statusänderungen dieser ein Event auslösen soll

n  Events werden in eine vordefinierte AQ-Event-Queue des Schedulers geschrieben (SYS.SCHEDULER$_EVENT_QUEUE) n  Da es sich hierbei um eine normale AQ-Event-Queue handelt,

erfolgt die „Subscription“ entsprechend der gängigen AQ-Praxis n  Ein spezieller DBMS_SCHEDULER.ADD_EVENT

_QUEUE_SUBSCRIBER fast die notwendigen Schritte für die „Subscription“ zusammen, filtert aber auch automatisch auf Events, die durch Jobs des Benutzers ausgelöst wurden.

n  Über die AQ-Mechanismen lassen sich auch PL/SQL-Stored-Procedures an die Event-Queue registrieren, die dann als Callback-Methoden fungieren.

Page 23: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 23

Event-Jobs, File-Events und Callbacks

Hinweise zur Verwendung von Callback-Methoden n  Callback-Methoden können zur Aktualisierung eigener Meta-Daten-Tabellen

verwendet werden n  Die Methoden sollten unbedingt performant sein und möglichst alle

„Exceptions“ abfangen n  AQ-Callback-Methoden werden wiederum von internen

Scheduler-Jobs ausgeführt n  Seit Oracle 11gR1 wird nicht mehr jedes Callback mit

einem eigenen Job abgearbeitet n  Der QMON-Prozess verwaltet die Callback-Jobs und

die Verteilung der Events auf diese n  Auf einem RAC ließen sich Mehrfach-Zuweisungen

des gleichen Events beobachten, deshalb unbedingt innerhalb der Callback-Prozeduren mit einem Timeout auf das Event zugreifen

n  Der QMON-Prozess läuft in einer RAC-Umgebung unter Clusterkontrolle!

Page 24: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 24

Agenda

1. Vorstellung

2. Der Oracle Scheduler im Überblick

3. Die Oracle Scheduler Views

4. Event-Jobs, File-Events und Callback-Routinen

5. Job-Chains

6. Remote-Job-Execution via Oracle Scheduler Agent

7. Datenbank-Migration und –Updates

8. Kleines Fazit

Page 25: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 25

Job-Chains

n  Chains verketten mehrere Jobs (Steps) zu einem Workflow n  Die Chain läuft unter einem Mainjob n  Die Steps laufen als Subjobs n  Hinter einem Step kann selber wieder eine Chain stehen

(Bildung von Hierarchien und Wiederverwendung) n  Die Verbindung der Steps erfolgt über Rules

n  Die Definition der Chains erfolgt über keine Meta-Sprache

n  Sondern durch PL/SQL-Prozeduraufrufe

Page 26: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 26

Job-Chains

n  Die Steps einer Chain können über Prozeduren n  Übersprungen werden n  Pausiert werden (Achtung die Pause erfolgt erst nach dem Step) n  Und zur Laufzeit zusätzlich

n  Gestoppt werden n  Als noch nicht gestartet deklariert werden

n  Programmatisch werden Steps über

n  Den (Sub)Job- und Step-Namen angesprochen n  Bei verschachtelten Chains auch über Punkt-Notation

(CHAIN_A_STEP1.CHAIN_B_STEP1)

Page 27: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 27

Job-Chains

n  Der Oracle SQLDeveloper bietet eine Tool-Unterstützung zur Definition von Chains n  Frage: Ist ein Operator wirklich dazu in der Lage?

n  Ein Operator braucht auch eine Oberfläche zur Administration laufender Jobs!

n  Eine hierarchische Verkettung ist auch programmatisch ohne Chains möglich!

n  Beides hat Vor- und Nachteile und sollte zuvor abgewogen werden

Page 28: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 28

Job-Chains: Vor- und Nachteile

n  Einfaches Absetzen synchroner Jobs n  Einfache Parallelisierung n  Einfaches „Einfangen“ von parallel

laufenden Jobs n  Trennung der Ablaufsteuerung vom

Programmcode n  Workflow ist einsehbar und editierbar

Vorteile

n  Notwendige Tool-Oberflächen für den Operator sind meist nur aufwendig zu realisieren

n  Teils sehr komplexe Handhabung (kleine Änderung große Wirkung)

n  Kontrollstrukturen (insbesondere Schleifen) schwierig bis kaum umsetzbar

n  Starke Einschränkungen bei der Parametrisierung von Steps

n  Teilweise Zerlegung eines fachlichen Steps in technische Teil-Steps notwendig

Nachteile

Page 29: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 29

Job-Chains: Vor- und Nachteile programmatischer hierarchischer Jobs

Vorteile Nachteile

n  Oberfläche für das Operating relativ einfach umsetzbar

n  Beliebig komplexe „Rules“ möglich n  Keine unnötige Zerlegung in Teil-Steps

notwendig n  Beliebige dynamische Kontrollstrukturen

definierbar n  Parametrisierung wie bei „normalen“

Prozeduren möglich

n  Absetzen synchroner Jobs n  Nur einfach wenn dieser auch in der

gleichen Session und Transaktion laufen darf

n  „Einfangen“ paralleler Jobs nur kompliziert, ggf. über eigene AQ-Mechanismen, möglich

n  Workflows sind nicht editierbar, bzw. zukünftige Steps manipulierbar

n  Mindestens für die Hierarchienbildung ist eine eigene Metadaten-Pflege notwendig

Page 30: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 30

Agenda

1. Vorstellung

2. Der Oracle Scheduler im Überblick

3. Die Oracle Scheduler Views

4. Event-Jobs, File-Events und Callback-Routinen

5. Job-Chains

6. Remote-Job-Execution via Oracle Scheduler Agent

7. Datenbank-Migration und –Updates

Page 31: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 31

Remote-Job-Execution via Oracle Scheduler Agent

n  Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt

n  Erlaubt die Ausführung von Executables auf Remote-Systemen durch den Oracle Scheduler

n  Die Installation erfolgt aus den Installationsquellen des Datenbank-Clients

n  Muss als eigenständige Installation in einem separaten ORACLE_HOME auf dem Remote-System erfolgen und kann nicht in einem bestehenden Client-Home nachinstalliert werden

Page 32: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 32

Remote-Job-Execution via Oracle Scheduler Agent

n  Ab 11gR2 wurde das Konzept auch auf Remote-Database-Jobs ausgeweitet n  Auf der Remote-Datenbank muss zusätzlich der Scheduler Agent

installiert werden n  Die Ausführung erfolgt nicht über einen Database-Link n  Der Scheduler Agent meldet sich, wie bei einer normalen SQL-

Connection an der Datenbank an und führt die übergebene PL/SQL-Stored-Procedure aus

n  Standard-Out und Standard-Error der Executables werden für jeden Job in ein Log-Verzeichnis des Scheduler-Agents geschrieben. n  Über dbms_scheduler.get_file

kann der Inhalt von der Datenbank aus gelesen werden

Page 33: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 33

Remote-Job-Execution via Oracle Scheduler Agent

n  Bei der Definition eines File Watcher-Objektes kann als Destination ebenfalls ein registrierter Scheduler Agent angegeben werden

n  Dieses ermöglicht auch die Überwachung von Remote-Verzeichnissen n  Auch in diesem Fall gilt, das ausgelöste Event enthält nur den Pfad und den Dateinamen! n  Den Inhalt der Datei kann man ebenfalls mit der dbms_scheduler.get_file vom Remote-

System zur Datenbank übertragen und steht dann direkt als LOB-Objekt zur Verfügung n  Prinzipiell böten die dbms_scheduler.get_file und das Pendant dbms_scheduler.put_file

eine hervorragende Möglichkeit eines allgemeinen Filetransfers zwischen einer Datenbank und einem Remotesystem

n  Problem: Die Methoden liefern bei Verwendung gegen ein Remote-System bei einen Dateioperationsfehler keine Fehlermeldung.

n  Antwort vom Oracle-Support: It‘s a feature, not a bug! n  Die gleichen Methoden gegen den lokalen DB-Host liefern sehr wohl einen Fehler.

Achtung: In der DB kann unter bestimmten Umständen ein falscher Job-Status stehen!

n  Prozesse, deren Jobs in der DB auf Stopped oder Failed stehen, können auf dem Remote-System noch laufen

n  Ein Neustart des Scheduler Agent -Dienstes kann z.B. dazu führen

Page 34: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 34

Agenda

1. Vorstellung

2. Der Oracle Scheduler im Überblick

3. Die Oracle Scheduler Views

4. Event-Jobs, File-Events und Callback-Routinen

5. Job-Chains

6. Remote-Job-Execution via Oracle Scheduler Agent

7. Datenbank-Migration und –Updates

Page 35: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 35

Datenbank Migration und Updates

n  Besonderheiten bei Datenbank-Migrationen per Import– und Export-Tools n  Zum Beispiel beim Downgrade (Enterprise => Standard) n  Im Besonderen bei Exports ohne Daten

n  Viele Scheduler-Objekte liegen als Daten in Tabellen vor n  Oracle exportiert diverse Objekte nicht als Create-Anweisungen n  Diverse Objekte werden über temporäre Tabellen exportiert,

die bei beim Export ohne Daten nicht exportiert werden! n  Tipp: Möglichst die Scheduler-Objekte und Jobs nicht in dem gleichen Schemata

anlegen/laufen lassen, in denen große Datenmengen liegen

n  Besonderheit beim Datenbank- /Patchset-Upgrade n  Niemals Samstags upgraden?

n  Tage an denen Jobs definiert sind die in einem Scheduler-Window laufen scheinen problematisch zu sein n  Das gilt zum Beispiel für die Oracle Standard-Maintenance-Jobs!

n  Nach dem Upgrade könnte das aktive Window als Global-Scheduler-Attribute übernommen worden sein. Sobald dieses schließt läuft kein Job mehr!

n  Siehe MY ORACLE SUPPORT NOTE Doc ID 731678.1

Page 36: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 36

MY ORACLE SUPPORT Doc ID 731678.1

Page 37: Oracle Scheduler - doag.org · via Oracle Scheduler Agent ! Mit Oracle 11gR1 wurde der Oracle Scheduler Agent eingeführt ! Erlaubt die Ausführung von Executables auf Remote-Systemen

12.11.13 //// Seite 37

Ansprechpartner

Torsten von Osten Seniorberater

[email protected]

Vielen Dank für Ihre Aufmerksamkeit. Für weitere Informationen stehe ich Ihnen gern zur Verfügung.

inconso AG Dieselstraße 1 – 7 61231 Bad Nauheim TEL: +49 6032 348–0 FAX: +49 6032 348–100 www.inconso.de