DOAG 210212 JSF Vortrag · Job Scheduler Framework 13 Vorteile des POINT. Job Scheduler Frameworks...
Transcript of DOAG 210212 JSF Vortrag · Job Scheduler Framework 13 Vorteile des POINT. Job Scheduler Frameworks...
„Scheduler de Luxe“
Martin Ritschel & Volker Ricke
21. Februar 2012
Regionaltreffen Hamburg/Nord
Unser Marktfokus
Daten & Fakten
© POINT. Consulting GmbH, Hamburg, 21.02.2012 2
• Standort: Henstedt-Ulzburg • Gründung: Januar 1992 • Stammkapital: 102.258,38 € • Geschäftsführung: Johannes Berendes • Umsatz 2011: 2.300.000 €
• Consultants 2011: 20
POINT. Consulting GmbH
• „Professional Services“ – als IT-Beratungs- unternehmen konzentrieren wir uns ausschließlich auf dieses Marktsegment und erbringen für unsere Kunden individuelle Dienstleistungen.
• Viele unserer Kunden arbeiten mit uns 5, 10 oder sogar über 19 Jahre zusammen.
3
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
4
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Ø Der Scheduler wird zur Steuerung von Arbeitsaufträgen (Jobs) genutzt. Er ist ein Bestandteil der Oracle Datenbank ab der Standard Edition.
Ø Scheduler administrieren: - Per GUI im Enterprise Manager - Per API mit dem Paket DBMS_SCHEDULER
5
Überblick über den Oracle Job Scheduler
Datenbank
DBMS_SCHEDULER Enterprise Manager
© POINT. Consulting GmbH, Hamburg, 21.02.2012
6
Enterprise Manager GUI
© POINT. Consulting GmbH, Hamburg, 21.02.2012
7
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Job Scheduler Architektur
8
Modularer Aufbau des Schedulers mit seinen Grundkomponenten:
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Job Scheduler Architektur
9
Ø Das „Program“ definiert Metadaten: - Welcher Programm-Code (PL/SQL Stored Procedure, Anonymous
PL/SQL, Shell-Script) wird gestartet. - Welche Parameter werden übergeben.
Ø Der „Schedule“ legt fest, wann und in welchem Wiederholungsintervall ein „Program“ gestartet wird.
Ø Der „Job“ ist die Kombination aus „Program“ und „Schedule“ – die lauffähige Instanz.
Modularer Aufbau des Schedulers mit seinen Grundkomponenten:
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Job Scheduler Architektur
10
Weitere (optionale) Komponenten:
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Job Scheduler Architektur
11
Weitere (optionale) Komponenten:
Ø Das „Window“ definiert feste Zeitintervalle für die Ressourcen-Bereitstellung mit dem Datenbank Resource Manager.
Ø „Window Group“s fassen mehrere „Window“s zusammen. Ø „Job Classes“ definieren wiederverwendbare Eigenschaften
(Attribute, Service-Nutzung, Ressourcen-Allokation, Prioritäten, …)
© POINT. Consulting GmbH, Hamburg, 21.02.2012
12
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Job Scheduler Framework
13
Vorteile des POINT. Job Scheduler Frameworks Das Framework erfindet das Rad nicht neu, es erleichtert aber die Einrichtung und den Betrieb von ORACLE Scheduler Jobs. Ø Konfiguration von Job- und Laufzeiteinstellungen über
Metadaten Ø Über Metadaten einstellbare Parallelisierung von Jobs Ø Automatische Berücksichtigung der Parallelisierungs-
Einstellungen zur Laufzeit Ø Einfaches und schnelles Einrichten von Jobs Ø Vereinfachung von Administration und Monitoring Ø Definition von Wartungsfenstern Ø Automatische Email-Benachrichtigung für verschiedene Events
Ab Oracle 11g Release 2
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Job Scheduler Framework
Program Window
Group
Job Class
Met
adat
en
Para
llelis
ieru
ng
War
tung
Scheduler
POINT.
Jo
b Sc
hedu
ler F
ram
ewor
k
Monitoring
Monitoring
Dynamik &
Administration
Scheduler
14 © POINT. Consulting GmbH, Hamburg, 21.02.2012
Ø Argumente (Parameter) zu einem Programm - Name - Position beim Aufruf - Default Wert - Typ
Ø Programmdefinition - Name - Programmtyp
• PL/SQL Blöcke • PL/SQL Stored Procedures • Java Stored Procedures • Executables auf Betriebssystemebene
- Programm-Name / PL/SQL Block - Anzahl Argumente - Sofortige Aktivierung (Ja/Nein)
Job Scheduler Framework
15
Argumente
Programme
Programme: Tabellen jsf_prg_arguments und jsf_programs
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Ø Scheduler (Zeitplan der Job-Ausführung) - Name - Wiederholungsintervall - Start-Datum - Ende-Datum
Definition der Scheduler über die Oracle-gängige Kalendersyntax, Beispiele: Ø Jede Stunde: FREQ=HOURLY; INTERVAL=1 Ø Alle 2 Wochen: FREQ=WEEKLY; INTERVAL=2 Ø Alle 30 Tage: FREQ=DAILY; INTERVAL=30 Ø Alle 5 Minuten: FREQ=MINUTELY; INTERVAL=5 Ø Jede Sekunde: FREQ=SECONDLY Ø 6:23 a.m. jeden Dienstag: FREQ=WEEKLY; BYDAY=TUE; BYHOUR=6;
BYMINUTE=23 Ø Zu jedem DOAG Regio Hamburg Treffen, dritter Dienstag alle zwei Monate J
Job Scheduler Framework
16
Scheduler
Scheduler: Tabelle jsf_schedulers
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Ø Definition der Jobs - Name - Typ (PLSQL_BLOCK,STORED_PROCEDURE,EXECUTABLE) - Job-Klasse (Standard DEFAULT_JOB_CLASS)
Ø Definition des Mail-Versands - Mail senden (J/N) - Mail Ereignisse (Events, auf die reagiert werden soll)
• JOB_FAILED • JOB_BROKEN • JOB_SCH_LIM_REACHED • JOB_CHAIN_STALLED • JOB_OVER_MAX_DUR
- Mail Empfänger (kommaseparierte Liste) - …..
Ab Oracle 11g Release 2
Job Scheduler Framework
17
Definition
Definition: Tabellen jsf_job_definitions und jsf_job_mails
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Ø Zusammenfassung von Programm, Definition und Scheduler zu einem Job - Priorität (Priorität des Jobs) - Min Jobs (Anzahl der minimal parallel laufenden Jobs) - Max Jobs (Anzahl der maximal parallel laufenden Jobs)
Über diese Tabelle wird die Parallelität gesteuert. Mit den Feld Max_Jobs wird eingestellt, wie viele parallele Jobs (Job-Instanzen) gestartet werden sollen.
Job Scheduler Framework
18
Steuerung
Steuerung: Tabelle jsf_job_control
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Ø Laufzeit-Informationen zu den Job-Instanzen - Job Instance Name (Job-Name + Nummer) - Job Sequenz (Interne Nummer des Jobs) - Aktivitäts-Kennzeichen (ist der Job aktiv?) - Status-Kennzeichen (Status des Jobs)
Diese Tabelle wird vom Control-Job gepflegt und darf nicht geändert werden. Die einzige Ausnahme ist das Aktivitäts-Kennzeichen zur Aktivierung bzw. Deaktivierung einer Job-Instanz.
Job Scheduler Framework
19
Laufzeit-Informationen
Laufzeit-Informationen: Tabelle jsf_job_instances
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Ø Ausfallzeiten (Zeitplan für die Unterbrechung eines Jobs) - Job - Typ (geplant, ungeplant) - Start-Datum - Ende-Datum
Über diese Tabelle werden die Ausfallzeiten eingestellt. Zu Beginn einer Ausfallzeit werden alle Job-Instanzen zum Job automatisch deaktiviert und nach dem Ende der Ausfallzeit wieder aktiviert.
Job Scheduler Framework
20
Ausfallzeiten
Ausfallzeiten: Tabelle jsf_downtimes
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Job Scheduler Framework
21
Argumente
Programme Steuerung Definition
Scheduler
Ausfallzeiten Laufzeit-
Informationen
ER Modell des Job Scheduler Frameworks
© POINT. Consulting GmbH, Hamburg, 21.02.2012
22
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Monitoring Views
23
Zum Überwachen des Job Scheduler Frameworks stehen einige Views zu Verfügung: Ø SCHEDULER_JOBS_V1
Informationen zu den erstellten Job-Instanzen - Startdatum - Status - Anzahl der fehlerhaften Läufe
Ø SCHEDULER_JOB_ARGS_V1 Argumente und Werte zu den erstellten Job-Instanzen - Wert des Arguments - Position des Arguments
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Monitoring Views
24
Ø SCHEDULER_JOB_RUN_DETAILS_V1 Historische Details zu den Job-Instanzen - Status des Laufs - Laufzeit gesamt - CPU-Zeit gesamt
Ø SCHEDULER_RUNNING_JOBS_V1 Informationen zu den aktuell laufenden Job-Instanzen - Session ID - Prozess ID des Betriebssystem - Laufzeit der Job-Instanz
© POINT. Consulting GmbH, Hamburg, 21.02.2012
25
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Control-Job Zyklus
26
Job Control
Analyse
Adaption
Protokoll
Zentraler DB-Job des Frameworks
Analysieren der Metadaten/Laufzeitinformationen, z.B. Ø Parallelität Ø Status der Job-Instanzen
Anpassen der Job-Instanzen Ø Parallelität Ø Aktivieren/Deaktivieren Ø Neue Job-Instanzen anlegen
Schreiben der Laufzeitinformationen Ø Status der Job-Instanzen Ø Laufende Nr. bei Parallelität
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Control-Job Zyklus
27
Job Control
Analyse
Adaption
Protokoll
Datenbank-Job „JOB_CONTROL“ kontrolliert die Jobs: Ø Überwachung der Job-Instanzen Ø Anlegen/Löschen von Job-Instanzen Ø Aktivieren/Deaktivieren von Job-Instanzen Ø Schreiben der Laufzeit-Informationen
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Control-Job Zyklus
28
Job Control
Analyse
Adaption
Protokoll
Analyse der Metadaten und Laufzeit-Informationen zu den Job-Instanzen: Ø Lesen der Tabelle mit den Laufzeit-
Informationen Ø Lesen der Steuerungstabelle Ø Lesen der Tabelle mit den Ausfallzeiten Ø Sind Jobs vorhanden? Ø Anzahl der Job-Instanzen? Ø Status der Job-Instanzen (aktiv oder inaktiv)
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Control-Job Zyklus
29
Job Control
Analyse
Adaption
Protokoll
Anpassen der Datenbankjobs: Ø Anlegen/Löschen von Jobs Ø Anlegen/Löschen von Job-Instanzen Ø Parameter zu den Job-Instanzen setzen Ø Aktivieren/Deaktivieren von Job-Instanzen
anhand der Laufzeit-Informationen Ø Aktivieren/Deaktivieren von Job(-Instanzen)
anhand der Ausfallzeiten
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Control-Job Zyklus
30
Job Control
Analyse
Adaption
Protokoll
Protokollierung der Laufzeit-Informationen zu den Job-Instanzen: Ø Erstellen der Laufzeit-Informationen, u.a. - Status der Job-Instanz - Name der Job-Instanz - Laufende Nummer
Ø Aktualisierung von Laufzeit-Informationen
© POINT. Consulting GmbH, Hamburg, 21.02.2012
31
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Jobs einstellen
32
Vorgabe zu dem Beispiel: - Programm: pck_bsp.start_main - Parameter: job_instanzname - Scheduler: Täglich 12 Uhr
program_type = STORED_PROCEDURE program_name = BEISPIEL program_action = pck_bsp.start_main Number_of_arguments = 1 enabled = J
- Instanzen: 2 - Mail bei: JOB_FAILED - Mail an: [email protected]
Tabelle jsf_programs
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Jobs einstellen
33
Vorgabe zu dem Beispiel: - Programm: pck_bsp.start_main - Parameter: job_instanzname - Scheduler: Täglich 12 Uhr
- Instanzen: 2 - Mail bei: JOB_FAILED - Mail an: [email protected]
argument_name = job_instanzname argument_position = 1 default_value = argument_type = VARCHAR2 out_argument = N Eintragen der Referenz zur Tabelle jsf_programs.
Tabelle jsf_prog_arguments
Zum Registrieren des Programms „ jsf_admin.fpc_register_program“ ausführen.
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Jobs einstellen
34
Vorgabe zu dem Beispiel: - Programm: pck_bsp.start_main - Parameter: job_instanzname - Scheduler: Täglich 12 Uhr
- Instanzen: 2 - Mail bei: JOB_FAILED - Mail an: [email protected]
job_name = BEISPIEL job_type = STORED_PROCEDURE Job_class = DEFAULT_JOB_CLASS start_date = 01.01.2012 enabled = J
Tabelle jsf_job_definitions
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Jobs einstellen
35
Vorgabe zu dem Beispiel: - Programm: pck_bsp.start_main - Parameter: job_instanzname - Scheduler: Täglich 12 Uhr
- Instanzen: 2 - Mail bei: JOB_FAILED - Mail an: [email protected]
mail = J mail_recipients = [email protected] mail_events = JOB_FAILED Eintragen der Referenz zur Tabelle jsf_job_definitions.
Tabelle jsf_job_mails Ab Oracle 11g
Release 2
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Jobs einstellen
36
Der Control-Job legt bei seinem nächsten Lauf die Job-Instanzen an.
Vorgabe zu dem Beispiel: - Programm: pck_bsp.start_main - Parameter: job_instanzname - Scheduler: Täglich 12 Uhr
- Instanzen: 2 - Mail bei: JOB_FAILED - Mail an: [email protected]
name = BEISPIEL priority = 1 min_jobs = 2 max_jobs = 2 Eintragen der Referenzen zu den Tabellen jsf_programs, jsf_schedulers und jsf_job_definitions.
Tabelle jsf_job_control
© POINT. Consulting GmbH, Hamburg, 21.02.2012
37
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
Jobs überwachen
38
Ø Einstellen der Events, die überwacht werden sollen (Tabelle jsf_job_mails) Ø View scheduler_job_run_details_v1 Ø View scheduler_job_v1
Ab Oracle 11g Release 2
© POINT. Consulting GmbH, Hamburg, 21.02.2012
39
Ø Überblick Oracle Job Scheduler Ø Oracle Job Scheduler Architektur Ø POINT. Job Scheduler Framework
Ø Monitoring Views Ø Control-Job Zyklus Ø Administration
- Jobs einstellen - Jobs überwachen
Ø Live Demo
Scheduler de Luxe
© POINT. Consulting GmbH, Hamburg, 21.02.2012
40
Live Demo
Demo
© POINT. Consulting GmbH, Hamburg, 21.02.2012
41
Noch Fragen?
© POINT. Consulting GmbH, Hamburg, 21.02.2012
42
Kontakt Martin Ritschel [email protected] Volker Ricke [email protected]
Download www.point-gmbh.com
© POINT. Consulting GmbH, Hamburg, 21.02.2012