Sie sind auf Seite 1von 41

Change Data Capture mit OWB 11 R2

Carsten Herbe

Kurzprofil
Fach-, Prozess- und Technologiekompetenz aus einer Hand: metafinanz bernimmt als IT-Dienstleister End-to-End-Verantwortung und untersttzt seine Kunden als Generator effizienter Business-Prozesse in ihren Projektvorhaben

Ihr Partner fr:


Datawarehousing (Oracle, OWB, Informatica) Business Intelligence (Cognos, SAS, Microsoft, Oracle) Schwerpunkte: Datenqualitt, Sicherheit und Compliance Offene Schulungen und mageschneiderte Coachings Partnerships:

DOAG 2009

Seite 2

Einfhrung

Was ist CDC?


Identifizierung von neuen, genderten oder gelschten Daten

Motivation
Delta-Abgleiche aus Komplettlieferungen sind fr groe Datenmengen sehr zeitintensiv Aus Performance Grnden mchte man nur nderungen aus den Quellsystemen laden Fr (Near-)Realtime-Datawarehousing ist die zu bertragende Menge klein zu halten

OWB und CDC


Bis OWB 11R1 keine Untersttzung fr CDC enthalten Neu in OWB 11R2: CDC Untersttzung ist komplett in den OWB integriert

DOAG 2009

Seite 3

Gliederung

I. II.

Einfhrung & Kurzprofil Code Templates

III. Change Data Capture IV. Laden der genderten Daten im Template Mapping V. Laden der genderten Daten im klassischen Mapping

VI. Fazit

DOAG 2009

Seite 4

Gliederung

I. II.

Einfhrung & Kurzprofil Code Templates

III. Change Data Capture IV. Laden der genderten Daten im Template Mapping V. Laden der genderten Daten im klassischen Mapping

VI. Fazit

DOAG 2009

Seite 5

Code Templates & Template Mappings


Neu in 11R2: Code Templates & Template Mappings Mappings basierend auf der ODI Technologie (Knowledge Module) Template Mappings werden analog zu den klassischen Mappings erstellt. Den unterschiedlichen Teilbereichen (Extraktion von Daten, Prfen auf Datenfehler, Schreiben von Daten) wird ein (austauschbares) Code Template zugeordnet Ein Code Template ist ein parametrisierter Ablauf von Aktionen (z.B. JDBC Datenbankzugriff) Code Templates sind keine Blackbox, es gibt einen eigenen Code Template Editor Mappings werden in einer Java-Laufzeit-Umgebung (Agent) ausgefhrt

SRC-Host

TARGET-Host

SRC-DB Agent

TARGET-DB

DOAG 2009

Seite 6

Code Templates
Code Templates gibt es im
- Global Explorer - Nach Import im Projekt

Vier Arten von Code Templates


Load: Extrahieren von Daten Integration: Schreiben von Daten Control: Errorlogging Change Data Capture

DOAG 2009

Seite 7

Template Mappings
Template Mappings stehen in einem eigenen Order, unabhngig von den Datenbankmodulen

Template Mappings werden auf einen Agent (Java Application Server) deployt und werden auch von dem Agent ausgefhrt Groe Teile der Mappings laufen weiterhin direkt in der Datenbank Zur Laufzeit bentigter Code und auch Objekte werden temporr in der Datenbank erstellt

DOAG 2009

Seite 8

Aufbau von Code Templates


Der Code Template Editor hnelt stark dem Expert Editor

Es gibt verschiedene Tasks:


- Jacl Java Command Language (JACL) ist ein in Java geschriebener Tcl-Interpreter - JDBC Fhrt SQL Befehle aus. - Jython Jython (frher: JPython) ist eine reine Java-Implementierung von Python - OS Aufruf von Betriebssystem Befehlen - Runtime API Aufruf der Runtime API

DOAG 2009

Seite 9

JDBC Task
Aufruf von SQL oder PL/SQL ber die JDBC-Verbindung

DOAG 2009

Seite 10

Template Mapping und CDC Architektur

SRC-Host

TARGET-Host

SRC-DB SRC_TAB Agent CDC

TARGET-DB

TARGET_TAB

CHANGE_TAB

DOAG 2009

Seite 11

Gliederung

I. II.

Einfhrung & Kurzprofil Code Templates

III. Change Data Capture IV. Laden der genderten Daten im Template Mapping V. Laden der genderten Daten im klassischen Mapping

VI. Fazit

DOAG 2009

Seite 12

Change Data Capture Methoden


Application-built-in
- Die Anwendung welche die Daten verndert markiert diese (Timestamps, Version-Number, Lsch-Flag, etc.)

Trigger
- Per Trigger werden die genderten Daten in eine spezielle Tabelle geschrieben - Achtung: Wenn schon Trigger in der Datenbank sind: Reihenfolge lsst sich nicht steuern

Log-File Auswertung
- nderungen werden direkt aus den Archive-Log-Files der Datenbank extrahiert - Datenbank muss dazu im Archive Log Modus sein

DOAG 2009

Seite 13

Change Data Capture Process

1 2 3 4 5 6

Auswahl einer Technologie zum Erfassen der genderten Daten Zu berwachende Tabellen werden identifiziert nderungen an den berwachten Tabellen werden erfasst Ein oder mehrere Subscriber melden sich an, dass sie genderte Daten haben mchten Ein Subscriber liest die genderten Daten aus Haben alle Subscriber die genderten Daten abgeholt, so werden sie gelscht

DOAG 2009

Seite 14

CDC Code Templates

OWB Code Templates gibt es fr verschiedene Datenbanken: Oracle DB2 Microsoft SQL Server ODI Knowledgemodule gibt es auch fr Informix HSQL

DOAG 2009

Seite 15

CDC Code Template festlegen

Setzen des Journal Code Templates fr das entsprechende Datenbankmodul. Dies geschieht direkt im Editor des Datenbankmodules. Konfiguration des gewhlten Journal Code Templates. Je nach Code Template gibt es verschieden Konfigurationsparameter.

DOAG 2009

Seite 16

CDC Quell-Tabellen auswhlen

Auswahl der zu berwachenden Tabellen. Dies geschieht direkt im Editor des Datenbankmodules oder in den Eigenschaften der Tabellen.

DOAG 2009

Seite 17

CDC Starten

Die Erfassung von genderten Daten wird ber das Kontextmen des Datenbankmodules gestartet. ber den Agent werden die notwendigen Objekte in der Datenbank deployt.

DOAG 2009

Seite 18

Fehlersuche im Log-File des Agenten


Details in Log-Files des Agenten:

- $OWB_HOME/owb/jrt/log/jrt.log - $OWB_HOME/owb/jrt/log/jobXX/log.xml wobei XX die Job Nummer ist

Das Attribute TASK_NAME identifiziert den Task im Code Template

DOAG 2009

Seite 19

Fehlersuche im Code Template Editor

Mit dem TASK_NAME aus dem Log kann man im Code Template Editor den entsprechenden Task untersuchen

DOAG 2009

Seite 20

Location Working Schema

Hinweis: Bei der Verwendung von Code Templates ist darauf zu achten, dass das Working Schema der Datenbank Location gesetzt ist, dies wird beim Erstellen nicht automatisch gefllt.

DOAG 2009

Seite 21

Hinzufgen eines Abonnenten (subscribers)

Ein Abonnent wird ber den Befehl Subscribe im Kontextmen des Datenbankmodules hinzugefgt

DOAG 2009

Seite 22

Hinzufgen eines Abonnenten (subscribers)

Dieser wird ber den Agenten in entsprechenden Tabellen gespeichert.

DOAG 2009

Seite 23

Weitere Aktionen

Das berwachungsfenster erweitert werden. Ebenso muss der Subscriber gelocked werden Beides geschieht ber das Change Data Capture Kontextmen.

DOAG 2009

Seite 24

Lock Subscriber

Durch "Lock Subscriber" werden fr den Subscriber nderungen verfgbar gemacht

DOAG 2009

Seite 25

Zustzliche Tabellen und Views


Zustzliche Tabellen fr berwachte Tabellen

- J$_SRC_SIMPLE : Log Miner Tabelle (enthlt Referenzen auf die nderungen)

Zustzliche Views fr berwachte Tabellen


- JV$_SRC_SIMPLE: Erfasste nderungen pro Subscriber innerhalb des berwachungsfensters

- JV$_DSRC_SIMPLE: Alle nderungen pro Subscriber seit Start des berwachungsfensters auch ber dessen Ende hinaus - T$_SRC_SIMPLE_SRC_DATA: nderungen unabhngig vom Subscriber

DOAG 2009

Seite 26

CDC Quell-View

CREATE OR REPLACE VIEW jv$_src_simple AS SELECT decode(targ.ROWID, NULL, 'D', 'I') jrn_flag, jrn.cdc_timestamp jrn_date, jrn.cdc_subscriber jrn_subscriber, jrn.n n, targ.d d, targ.t t FROM (SELECT j.n n, MAX(j.timestamp$) cdc_timestamp, sub.cdc_subscriber cdc_subscriber FROM src_data.j$_src_simple j, src_data.snp_cdc_subs sub WHERE sub.cdc_set_name = 'SRC_DATA.SRC_DB' AND j.cscn$ > sub.min_window_id AND j.cscn$ <= sub.max_window_id GROUP BY j.n, sub.cdc_subscriber) jrn, src_data.src_simple targ WHERE jrn.n = targ.n(+)

DOAG 2009

Seite 27

Gliederung

I. II.

Einfhrung & Kurzprofil Code Templates

III. Change Data Capture IV. Laden der genderten Daten im Template Mapping V. Laden der genderten Daten im klassischen Mapping

VI. Fazit

DOAG 2009

Seite 28

Erstellen eines Template Mappings

Template Mapping werden in dem Ordner Template Mappings abgelegt und nicht unterhalb eines Datenbankmodules

DOAG 2009

Seite 29

Laden der genderten Daten


Einfgen der berwachten Quelltabelle und der Zieltabelle

Aktivierung von Change Data Capture in den Properties der Quelltabelle und auswahl des Abonnenten

Dadurch enthlt der Quelltabellen-Operator weitere Attribute mit Metadaten

DOAG 2009

Seite 30

Template Mapping: Logical View

Das Mapping wird wie ein normales Mapping ohne CDC entwickelt Im Logical View wird die Logik wie in den klassischen Mappings festgelegt

DOAG 2009

Seite 31

Template Mapping: Execution View

Im Execution View wird das Mapping in eine oder mehrere Execution Units aufgeteilt Den Execution Units wird nun ein Integration/Load Code Template zugeordnet

DOAG 2009

Seite 32

Deployment des Mappings


Deployment von
Code Template Datenbankverbindung zur Quelle Datenbankverbindung zum Ziel Template Mapping

DOAG 2009

Seite 33

Ausfhren des Template Mappings: Log

Beim Start eines Template Mappings sieht man im Log Window wie die einzelnen Tasks abgearbeitet werden

DOAG 2009

Seite 34

Ausfhren des Template Mappings: Audit

Im Audit Fenster sieht man die ausgefhrten Tasks und den zugrunde liegenden Code

DOAG 2009

Seite 35

Gliederung

I. II.

Einfhrung & Kurzprofil Code Templates

III. Change Data Capture IV. Laden der genderten Daten im Template Mapping V. Laden der genderten Daten im klassischen Mapping

VI. Fazit

DOAG 2009

Seite 36

Klassisches OWB Mappings

Das Laden der nderungen funktioniert analog im klassischen OWB Mapping (In Database ETL)

DOAG 2009

Seite 37

Gliederung

I. II.

Einfhrung & Kurzprofil Code Templates

III. Change Data Capture IV. Laden der genderten Daten im Template Mapping V. Laden der genderten Daten im klassischen Mapping

VI. Fazit

DOAG 2009

Seite 38

Fazit

Viele neue Mglichkeiten durch Code Templates CDC lsst sich komplett vom OWB aus verwalten
- Aber manche Schritte wir Datenbank im Archive Log Modus doch lieber manuell - Knowhow ber die zugrundeliegende Technologie ist sinnvoll

Verwendung der Quelltabellen in den Mappings ist unabhngig von zugrundeliegender CDCTechnologie Template Mappings und klassische Mappings sind getrennte Welten
- Template Mappings zum Laden der Daten aus heterogenen Quellsystemen in die Staging Area - Klassische Mappings zur Weiterverarbeitung der Daten innerhalb des Datawarehouses

DOAG 2009

Seite 39

Interesse? Fragen? Austausch?

Besuchen Sie unseren Stand

Neues Training ab 2010: OWB 11R2 New Features

Sie finden uns auf Ebene 2, Stand 222. Mehr Information und Downloads unter: http://owb.metafinanz.de

DOAG 2009 Seite 40

Herzlichen Dank!
metafinanz
Informationssysteme GmbH Leopoldstr. 146 80804 Mnchen phone: +49 89 360531-0 fax: +49 89 360531-15 kontakt@metafinanz.de www.metafinanz.de

DOAG 2009

Seite 41