OWB Workbook V2 1/28 OWB Workbook Workshop Hamburg, Oktober 2010 Hamburg, April 2012 OWB Release 11.2 Version 1,2 OWB Workbook V2 Inhalt OWB Workbook ................................................................................. 1 Der Übungsrechner........................................................................ 4 Installation ...................................................................................... 4 Einige Hinweise zur Installation, wenn es mal nicht planmässig verläuft ........................................................................................... 4 Orientierung in der neuen Umgebung ........................................... 5 Die Komponenten einer OWB Umgebung ........................................ 5 Der Hauptbildschim ........................................................................... 5 Übersicht über das Workshop-Szenario ........................................ 6 Betrachten der Preferences / Benutzereinstellungen ....................... 6 Einlesen Textdateien und Arbeiten mit External-Tables................ 7 Definition Flat File .............................................................................. 7 Definition Location ............................................................................. 7 Directory Definition ............................................................................ 7 Erstes Mapping und erste neue Tabelle ........................................ 8 Der Mapping-Editor ........................................................................... 8 Die Fenster ändern sich als Kontext in Abhängigkeit von dem jeweils mit dem Mauszeiger aktivierten Objekt ................................. 8 Die Tools-Palette ............................................................................... 9 Das erste Mapping ............................................................................ 9 Einen Blick in die Datenbank und Umgang mit DB-Schemen ..... 10 Fehlermeldung beim Deploy auf den Directory-Eintrag .................. 10 Fehlermeldung beim Deploy des Mappings .................................... 10 Control Center Manager .............................................................. 10 Blick in das Control Center .............................................................. 10 Registrieren eines weiteren DB-Schmemas über den SecurityAuswahlpunkt des Global Navigators .............................................. 10 Importieren von Tabellen-Definitionen aus einem DatenbankSchema ........................................................................................ 11 Import Metadaten aus DB-Dictionary .............................................. 11 Umgang mit bestehenden Datenbank-Prozeduren und Aufrufparametern ......................................................................... 12 Metadaten-Import für DB-Prozeduren und Funktionen ................... 12 Definieren eines Aufruf-Parameters für eine Prozedur mit DefaultWert ................................................................................................. 12 Eingabe von Datums-Paramtern ..................................................... 13 Tabelle TAGE nach Lade-Lauf ........................................................ 13 Der Tabelleneditor ....................................................................... 14 2/28 Manuelles Anlegen einer einer Tabelle ...........................................14 Lösen der Fehlersituation bei wiederholter Generierung .................14 Metadaten-Browser ......................................................................15 Login für Repository-Browser ..........................................................15 Anzeige der bisher gestarteten Jobs ...............................................15 Festlegen der Join-Bedingung .........................................................16 Mapping mit Join ..............................................................................16 Suche nach Fehlern über den Metadaten-Browser .........................16 Interaktives Generieren und Testen .............................................17 Interaktive Generieren .....................................................................17 Einbauen von Funktionen ............................................................18 Mapping mit eingebauten Funktionen ..............................................18 Group By und Order by ................................................................19 Splitter und Schreiben in eine Textdatei ......................................20 Mapping zum Aufbau einer Referenztabelle....................................21 Aufbau eines künstlichen Schlüssels für eine Dimensions-Tabelle ......................................................................................................21 Aufbau Artikel-Dimension mit neuem künstlichem Schlüssel ..........21 Komplexeres Mapping mit Zwischenschritten, Lookups, Truncate ......................................................................................................22 Expressions und CASE Blöcke ....................................................23 CASE-Funktion zur Berechnung des Steuersatzes .........................24 Teil 1 des Mappings zur Erstellung der Fakten-Tabelle ..................24 Teil 2 des Mappings zur Erstellung der Fakten-Tabelle ..................24 Aufbau einer multidimensional verwendbaren Zeit-Dimension ....25 Aufbau einer Dimension über den Wizzard..................................25 Aufbau eines Star Schemas .........................................................25 Metadatenauswertungen ..............................................................25 Aufbau der Workflow/Prozess-Umgebung ...................................26 Installationsschritt OWF: Aufruf von wfinstall...................................26 Installationsschritt OWF: Hinzufügen von D als Basissprache .......27 Anlegen einer Location für owf_mgr ................................................27 Ergebnis-Workflow ...........................................................................27 MDL-Dateien ................................................................................28 OMBPlus ......................................................................................28 Sonstige Punkte / Themen ...........................................................28 OWB Workbook V2 Das Kennenlernen eines Tools kann eine zeitaufwendige Angelegenheit sein. Ziel muss es daher sein, in möglichst kurzer Zeit das nötige Rüstzeug für die praktische Anwendung zu erlernen. Konzentration auf die in der Praxis benötigten wichtigsten Features ist daher angebracht. Die Praxis des Oracle Warehouse Builders ist das Erstellen eines Data Warehouse Systems. Die hier vorliegenden Übungen zeigen daher einen kleinen Ausschnitt in wesentliche Schritte in diesem Entwicklungsprozess. Es sind Umgang mit Textdateien Arbeiten mit Datenbanktabellen Arbeiten mit Funktionen und Prozeduren in der Datenbank Nutzen der wesentlichen Operatoren in einem ETL-Prozesse, wie Joiner, Expressions, Lookups, Splitter, Distinct und Group By Das Zusammenfassen von Mappings in einem komplexeren Prozesse Monitoring OWB verfügt über noch viele andere Funktionen, die allerdings in der Regel seltener genutzt werden. Hat man einmal ein Grundverständnis von OWB erworben, so kann man sich diese Spezialthemen leicht auch ohne aufwendige Schulung über die Dokumentation selbst erarbeiten, wenn man sie benötigt. In dieser Weise gelingt hoffentlich eine schnelle Einarbeitung. OWB hat sich in der Praxis als das einfache und passende Werkzeug für die Entwicklung von Oracle-basierten WarehouseSystemen gezeigt. Deswegen geht die Anzahl der Installationen in die Tausende und ist kaum feststellbar. Oracle Warehouse Builder wird bis mindestens 2022 von Oracle untersützt und ist auch in der Datenbankversion 12 von Oracle als Bestandteil enthalten. 3/28 Oracle Warehouse Builder on OTN • http://www.oracle.com/technology/products/warehouse/index.html OWB Doku / Reference Guides: • Oracle Warehouse Builder Installation and Administration Guide • Oracle Warehouse Builder Concepts • Oracle Warehouse Builder Sources and Targets Guide • Oracle Warehouse Builder ETL and Data Quality Guide Deutsch-sprachiges Step By Step: http://www.oracledwh.de/downloads/AutoIndex2.2.4/index.php?dir=downloads/Step_By_Step_Sammlung en/StepByStep%20OWB/OWB11_2/&file=OWB11gR2_Step _By_Step_V2.doc oder einfach www.oracledwh.de und dann in dem Download-Bereich unter Step_By_Step-Sammlungen nach der Version zu 11.2 suchen Die Materialien zu diesem Workshop befinden sich ebenfalls an dieser Stelle: http://www.oracledwh.de/downloads/AutoIndex2.2.4/index.php?dir=downloads/Kurs_Materialien_und_DWH_TIF_un d_Angebote/&file=OWB_Kurs_Workbook_Material.7z oder einfach www.oracledwh.de und dann in dem Download-Bereich unter Kurs_Materialien suchen OWB Workbook V2 4/28 Der Übungsrechner Login User: Passw. PCX PCX Datenbank: Datenbank und Listener sind bereits hochgefahren SID ORCL Rechnername: localhost DB Port 1521 Installation (Installationshinweise in der Doku) 1. Vor der Installation die Spracheneinstellungen des Rechners ändern: -> Regional and Language Options 2. Installieren Sie OWB auf Ihrem Rechner. 3. Start des Repository – Assistenten unter Start und den Anwesiungen folgen Einige Hinweise zur Installation, wenn es mal nicht planmässig verläuft (alle Hinweise stammen aus der Installationsanleitung) Aktivitäten durchführen als sys-User, weil Benutzer angelegt werden. sqlplus sys/sys as sysdba -- 1) Passwörter abgelaufen alter user owbsys identified by password account unlock; alter user owbsys_audit identified by password account unlock; -- 2) Passwort owbsys neu setzen alter user owbsys identified by owbsys; -- 3) Groß / Kleinschreibung für das Connect ausschalten alter system set sec_case_sensitive_logon=FALSE; - 4) Den OWB-Pfad für den Agenten setzen start D:\product\11.2.0\dbhome_2\owb\UnifiedRepos\reset_owbcc_home.sql dan z. B eingeben: ---> d:\product\11.2.0\dbhome_2 -- 5) Jetzt den Repository - Assisten über das Start-Menü aufrufen Basis-Sprache festlegen Englisch (US) neuen User anlegen (wenn nicht schon vorhanden) --> DWH -----------------------------------------------------Repository löschen 1) als owbsys -> SQL> start D:\product\11.2.0\dbhome_2\owb\rtp\sql\stop_service.sql 2) als sys -> SQL> start D:\product\11.2.0\dbhome_2\owb\UnifiedRepos\clean_owbsys.sql Nach manuell gelöschtem Repository das Repository neu anlegen als sys -> SQL> start D:\product\11.2.0\dbhome_2\owb\UnifiedRepos\cat_owb.sql USERS -- Danach die Punkte 1,2, 4, 5 von oben neu durchführen OWB Workbook V2 5/28 Orientierung in der neuen Umgebung 1. Orientieren Sie sich in der neuen Oberfläche a. Klicken Sie sich durch die einzelnen Fenster durch. b. Schieben Sie unter den Umgebungseigenschaften das Undo Behaviour auf den Wert 20 c. Machen Sie das „Property Inspector“ - Fenster sichtbar. Kann man in diesem Fenster schon etwas sehen? Machen Sie etwas sichtbar. d. Wie viele User sind in Ihrer Umgebung registriert? e. Wie lautet die eine Location, die Sie bereits jetzt nach der Installation haben? f. Machen Sie die „Start Page“ unsichtbar und wieder sichtbar. Die Komponenten einer OWB Umgebung Der Hauptbildschim OWB Workbook V2 6/28 Übersicht über das Workshop-Szenario 2. Die Workshop-Übungen dienen dem Kennenlernen der einzelnen Funktionen. Um den Aufwand der Vorbereitung gering zu halten, werden Prozeduren genutzt, die im Verlauf der Übungen Testdaten erzeugen, mit denen Sie arbeiten. Andere Daten werden als TextDatei genutzt, um das Arbeiten mit External-Tables kennenzulernen. Um eine kleine Vorstellung von einem realen Arbeiten mit OWB zu erhalten, wurden zwei Bereiche/DB-User (OLTP , DWH) gewählt. In der Praxis wird es sicher mehr Bereiche geben, aber diese Übungen sollten einfach gehalten werden. Wenn alle Übungen abgeschlossen sind, sollten Tabellen entstanden sein, wie sie in einem StarSchema nutzbar sind. Tabellen und Textdateien für den Workshop. Die kursiv dargestellten Objekte entstehen im Verlauf des Workshops. Die übrigen sind bereits vorhanden oder werden als Textdaten erzeugt. Betrachten der Preferences / Benutzereinstellungen OWB Workbook V2 7/28 Einlesen Textdateien und Arbeiten mit ExternalTables 3. Richten Sie ein Modul zum Einlesen von Textdateien ein. 4. Lesen Sie die Datei ORTE.CSV ein. Achten Sie auf die erste Zeile in der Textdatei. Sie sollte als Spaltenüberschriften genutzt werden. 5. Richten Sie ein Oracle-Modul mit dem Namen DWH ein. Dieses Modul sollte auf das Datenbank-Schema DWH zeigen. 6. Suchen Sie unter dem Reiter „Locations“ die neu entstandene Location und testen Sie den Zugriff. 7. Erzeugen Sie in dem neuen Modul „DWH“ die External Table mit dem Namen „EX_Orte“. Verwenden Sie dabei die zuvor erstellte Definition der Text-Datei. 8. Deployen Sie die External Table aus dem Project - Tree heraus. Beobachten Sie dabei die entsprechenden Meldungen in dem LogOutput-Fenster. Es sollten nur grüne Häkchen zu sehen sein. 9. Wieviele Objekte wurden tatsächlich in die Datenbank generiert? 10. Betrachten Sie sich die Daten der Text-Datei über die External Table in dem Data-Browser. CREATE TABLE "EX_ORTE" ( "NR" INTEGER, "ORT" VARCHAR2(255), "PLZ" VARCHAR2(255), "LAND" VARCHAR2(255), "REGION" VARCHAR2(255), "REG_NR" INTEGER ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY LC_FF_ORTE ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE CHARACTERSET WE8MSWIN1252 STRING SIZES ARE IN BYTES NOBADFILE NODISCARDFILE NOLOGFILE FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' AND '"' NOTRIM Definition Flat File ( "NR" CHAR, "ORT" CHAR, "PLZ" CHAR, "LAND" CHAR, "REGION" CHAR, "REG_NR" CHAR ) ) LOCATION ( 'ORTe.CSV' ) ) REJECT LIMIT UNLIMITED NOPARALLEL ; Definition Location CREATE DIRECTORY LC_FF_ORTE AS '{{LC_FF_ORTE.RootPath}}'; Directory Definition Text-Metadaten einlesen Location-Objekt Erstellen External Table Log-Fenster Directory – Eintrag in DB File-Import-Editor Zeichensätze Generierung Data Viewer OWB Workbook V2 8/28 Erstes Mapping und erste neue Tabelle 11. Erstellen Sie in dem Modul DWH ein neues Mapping mit dem Namen MP_ORTE. a. Benutzen Sie in diesem neuen Mapping die zuvor erstellte External Table als Vorlage für eine neu zu erstellende Tabelle TB_Orte. b. Überführen Sie die neue erstelle Tabelle TB_Orte in das Modul DWH. c. Betrachten Sie sich die neue Tabelle in dem Modul-Tree. d. Deployen Sie die neue Tabelle und das neue Mapping. e. Starten Sie das Mapping aus dem Projekt-Tree heraus und beobachten Sie wie viele Sätze gelesen und geschrieben werden. f. Überprüfen Sie über den Data Browser ob auch tatsächlich alle Sätze in der neuen Tabelle angekommen sind. Aspekte dieser Übung Mapping-Editor Palette Drag and Drop von Objekten 3 Varianten ene neue Tabelle zu erstellen: - Im Editor als Kopie des Quellobjektes - Import aus DB-Dictionary - Manuelle Erstellen im Table-Editor Unterschied der Sicht Mapping / Modul Deployen eine Objektes und Mappings Starten mit Go / Los Data Viewer Der Mapping-Editor Die Fenster ändern sich als Kontext in Abhängigkeit von dem jeweils mit dem Mauszeiger aktivierten Objekt OWB Workbook V2 9/28 Das erste Mapping Die Tools-Palette OWB Workbook V2 Einen Blick in die Datenbank und Umgang mit DBSchemen 12. Definieren Sie sich mit SQL Plus einen neuen DB-User mit dem Namen DWH2: Auf Kommando-Ebene: SQLPLUS 10/28 Control Center Manager 17. Starten Sie den Control Center Manager und suchen Sie die zuvor gestarteten Jobs. 18. Entscheiden Sie mit welcher Deployment-Oberfläche Sie eher arbeiten möchten. sys/sys as sysdba create user OLTP identified by OLTP; grant dba to OLTP; 13. Richten Sie in OWB ein Modul OLTP ein, das auf das neue Schema zeigt. 14. Wiederholen Sie für diesen DB-User OLTP die Übungen 9-13 in dem Modul OLTP. (Erstellen External table und Deploy). a. Welcher Fehler tritt bereits bei dem Deploy-Versuch der External-Table auf? b. Kann der Fehler ignoriert werden? c. Welchen Fehler stellen Sie am Ende bei dem Versuch des Deploy auf das Mapping fest? 15. Lösen Sie das Problem, indem Sie den neuen User OLTP für die Verwendung des OWB-Repositories registrieren. 16. Speichern Sie Ihre OWB Metadaten ab. Blick in das Control Center Aspekte dieser Übung Arbeiten mit dem Control Center Arbeiten mit mehreren Modulen Registrieren eines DB-Schemas Log und Doployment-Dokumentation Sicht auf Locations Arbeiten mit mehreren DBSchemen Deployment mit dem CC Fehlermeldung beim Deploy auf den Directory-Eintrag RPE-01012: PL/SQL-Mappings können in diesem Zielschema nicht bereitgestellt werden. Das Zielschema muss in derselben Instanz enthalten sein, wie das Control Center. Ihm muss die Rolle OWB_USER erteilt worden sein. Verwenden Sie die OWB-Sicherheitsbenutzeroberfläche, um das Zielschema zu einem OWB-Benutzer zu machen. Fehlermeldung beim Deploy des Mappings Registrieren eines weiteren DB-Schmemas über den Security-Auswahlpunkt des Global Navigators OWB Workbook V2 11/28 Importieren von Tabellen-Definitionen aus einem Datenbank-Schema 19. Tabellendaten laden: a. Starten Sie SQLPLUS für das Schema DWH b. Rufen Sie aus SQLPLUS heraus die Prozedur „01_DWH_Kursdaten.sql“ auf. SQL> start pfad\01_DWH_Kursdaten.sql 20. Importieren Sie alle Tabellen-Definitionen aus dem Schema DWH, die sich noch nicht in dem OWB-Projekt befinden. 21. Wiederholen Sie den Vorgang für das Schema OLTP c. Starten Sie SQLPLUS für das Schema OLTP d. Rufen Sie aus SQLPLUS heraus die Prozedur „01_OLTP_Kursdaten.sql“ auf. SQL> start pfad\01_OLTP_Kursdaten.sql 22. Speichern Sie Ihre OWB Metadaten ab. 23. Überprüfen Sie über den Data Viewer, ob sich in den Tabellen bereits Daten befinden. Die Tabellen Kunde, Tage, Bestellung und Bestellpositionen müssten leer sein. Aspekte dieser Übung Importieren Tabellenbeschreibungen SAVE -> Commit in DB Import Metadaten aus DB-Dictionary OWB Workbook V2 12/28 Umgang mit bestehenden Datenbank-Prozeduren und Aufrufparametern 24. Importieren Sie in beiden Modulen (DWH, OLTP) alle Prozeduren und Funktionen, die sich jetzt in den Schemen DWH und OLTP befinden in Ihr OWB-Projekt. 25. Füllen der Kunden-Tabelle: a. Erstellen Sie in dem Modul OLTP ein neues Mapping MP_GEN_Kunde. b. Fügen Sie einen Transformation - Operator in das Mapping ein und wählen Sie dabei die Prozedur KUNDE_GEN. c. Fügen Sie jetzt einen Mapping-Input-Operator ein und definieren Sie in diesem Operator ein „Output-Attribut“ mit dem Namen ANZAHL. d. Verbinden Sie dieses Feld mit dem Aufruf-Feld der Prozedur ANZ_KUNDE. e. Legen Sie jetzt für den Aufrufparameter ANZAHL den Default-Wert 1000 fest. f. Deployen Sie das Mapping und starten es. g. Überprüfen Sie über den Data Viewer, ob sich jetzt Daten in der Tabelle KUNDE befinden. 26. Wiederholen Sie den Vorgang für die Tabelle TAGE, allerdings in dem Modul DWH. Beachten, Sie dass Sie nun 2 Parameter vom Typ DATE benötigen und wählen Sie für STARTDATE '01-JAN-90', ' und ENDDATE '31-DEC-15‘ 27. Überprüfen Sie, ob sich jetzt Daten in der Tabelle TAGE befinden und ob die Formate stimmen. Dazu müssen Sie zunächst die Metadaten der Tabelle TAGE in OWB importieren 28. Wiederholen Sie den Vorgang für die Tabellen BESTELLUNG und BESTELLPOSITIONEN. Rufen Sie hierzu die Prozedur BESTELLUNGEN_GEN mit dem Aufrufwert von 1000 auf. Dieses ist in dem Modul OLTP durchzuführen. Überprüfen Sie, ob auch alle Daten generiert wurden. Metadaten-Import für DB-Prozeduren und Funktionen Aspekte dieser Übung Arbeiten mit DB-Prozeduren Wiederverwenden von Prozeduren, die in der Datenbank programmiert wurden Properties-Fenster Arbeiten mit DB-Funktionen Definieren von Übergabeparametern mit verschiedenen Formaten Definieren und Arbeiten mit Feldern Arbeiten in unterschiedlichen DBSchemen durch einfaches Wechseln der Module in OWB 30.1 Machen Sie den Aufruf-Parameter beim Starten der Prozedur sichtbar. Definieren eines Aufruf-Parameters für eine Prozedur mit Default-Wert OWB Workbook V2 13/28 Eingabe von Datums-Paramtern Tabelle TAGE nach Lade-Lauf OWB Workbook V2 14/28 Der Tabelleneditor 29. Wechseln Sie in das Modul DWH. 30. Erzeugen Sie mit dem Tabellen-Editor die Tabelle Artikel mit folgender Struktur. Artikelnummer Artikelname Artikelpreisnetto Verpackungspreis Lieferantennummer Artikelgruppennummer Artikelgruppe Artikelspartennummer Artikelsparte 31. 32. 33. 34. Manuelles Anlegen einer einer Tabelle Wählen Sie die passenden Feldtypen. Definieren Sie einen Primary Key für das Feld Artikelnummer. Überführen Sie die neue Struktur in die Datenbank. Wiederholen Sie den Deploy-Prozess. a. Welche Fehlermeldung stellen Sie fest? b. Wiederholen Sie den Deploy-Vorgang noch einmal. Was stellen Sie fest? Aspekte dieser Übung Manuelles Erfassen von Tabellen-Spalten Deploy von einzelnen Tabellen Interpretieren von Fehlermeldungen beim Deploy Implizites Erzeugen einer DROP-Anweisung Lösen der Fehlersituation bei wiederholter Generierung OWB Workbook V2 15/28 Metadaten-Browser 35. Starten Sie den OWB-Browser Listener. a. Z. B.: D:\ora\product\11.2.0\dbhome_1\owb\bin\win32\startOwbbIn st.bat Password z. B. OC4J 36. Starten Sie den OWB Browser. 37. Suchen Sie alle Jobs, die Sie bisher gestartet haben. Aspekte dieser Übung Visualisieren von Job-Läufen über einen Web-Browser Infrastruktur des Repository-Browsers Navigieren im Repository-Browser Login für Repository-Browser Anzeige der bisher gestarteten Jobs OWB Workbook V2 16/28 Joiner 38. Überführen Sie die Text-Dateien Artikel, Artikelgruppe und Artikelsparte mit Hilfe eines Joiners in die zuvor erstellte Tabelle Artikel. (Modul DWH) 39. Beachten Sie eventuelle Warnungen bei der Generierung. 40. Versuchen Sie trotz der Warnungen das Mapping zu starten. 41. Suchen Sie nach möglichen Fehlerursachen über den MetadatenBrowser. Aspekte dieser Übung Aufbau eines Joiners Join über Textdateien Editieren einer Join-Bedingung Suchen eines Feldlängen-Fehlers über den Browser und Identifizieren des verurachenden Feldes Synchronisieren von Änderungen in dem Editor und Modul Mapping mit Join Suche nach Fehlern über den Metadaten-Browser Festlegen der Join-Bedingung OWB Workbook V2 17/28 Interaktives Generieren und Testen 42. Erzeugen Sie in dem zuvor erstellten Mapping eine IntermediateGenerierung. Für unterschiedliche Group-Bereiche in den Operatoren. 43. Versuchen Sie einzelne sinnvolle Code-Fragmente in SQLPlus laufen zu lassen. Aspekte dieser Übung Schnelles einfaches Test Schnelles Generieren von SQL-Code Flexibles Wechselspiel SQLPlus und graphische Oberfläche Interaktive Generieren OWB Workbook V2 18/28 Einbauen von Funktionen 44. Kopieren Sie das zuvor erstellte Mapping und speichern Sie es unter einem neuen Namen. 45. Füllen Sie das Feld VERPACKUNGSPREIS über die Funktion RAN_M_M mit einem Zufallswert zwischen 2 und 10. 46. Testen Sie das neue Mapping. Aspekte dieser Übung Verwenden von Funktionen Positionieren von Funktionen Kopieren von Mappings Defaultwert-Setzung von Feldern Mapping mit eingebauten Funktionen OWB Workbook V2 19/28 Group By und Order by 47. Erzeugen Sie in dem Modul DWH eine Auswertetabelle, die die Menge aller Kunden aus dem Modul OLTP pro Segment aufnehmen kann. Die Liste sollte nach Segmenten aufsteigend sortiert sein. Der folgende Befehl dient als Orientierung. select segment,count(*) from kunde group by segment order by segment; [Bei dieser Übung kann es zu einem Genereirungsfehler kommen, weil in dem Schema DWH nicht aus dem Schema OLTP gelesen werden kann. SQL> connect oltp/oltp Connected. SQL> grant select any table to DWH; Grant succeeded. Aspekte dieser Übung Über Modul-Grenzen hinweg arbeiten Eine neue Tabelle als Kopie aus einer anderen erzeugen Eine Tabelle in einem Modul anlegen nachdem sie zuvor in einem Editor erzeugt wurde Mapping mit Menge pro Kunden-Segment und sortiert OWB Workbook V2 Splitter und Schreiben in eine Textdatei 48. Erzeugen Sie in dem Modul DWH 2 Zieltabellen für die KundenSegmente kleiner 10 und größer gleich 10. 49. Schreiben Sie diese Tabellen dann weiter in jeweils eine Textdatei. Aspekte dieser Übung Splitter Erzeugen mehrerer Objekte in einem Mapping Erzeugen von Textdateien aus einem Mapping heraus Konfigurieren von Objekten (in diesem Beispiel Textdateien 20/28 OWB Workbook V2 21/28 Verwendung von Distinct und Sequence 50. Erstellen Sie in dem Modul DWH eine Referenztabelle aus dem Feld BERUFSGRUPPE der Tabelle KUNDE. a. Achtung: die Tabelle Kunde befindet sich in dem Modul OLTP. Die neue Tabelle BERUFSGRUPPE wird jedoch in dem Modul DWH liegen. b. Die Referenztabelle besteht aus 2 Spalten BERUFSGRUPPE und BERUFSGRUPPENNR c. Das Feld BERUFSGRUPPE nimmt alle distinct-Werte aus dem Feld BERUFSGRUPPE von KUNDE auf. d. In dem Feld BERUFSGRUPPENNR sollte mit Hilfe einer Sequence eine laufende Nummer generiert werden. Hierzu sollten Sie ein Sequence-Objekt anlegen, das auch deployed werden sollte. Aspekte dieser Übung Source-Objekt Sequence Aufbau künstlicher Schlüsssel Mapping zum Aufbau einer Referenztabelle Aufbau eines künstlichen Schlüssels für eine Dimensions-Tabelle 51. Erstellen Sie eine Dimensionstabelle D_Artikel als Ableitung von der bereits bestehenden Tabelle Artikel. Die neue Tabelle D_Artikel soll einen neuen künstlichen Schlüssel in Form einer laufenden Nummer erhalten. Verwenden Sie dazu eine Sequenz. 52. Überprüfen Sie nach dem Überführen aller Objekte in die Datenbank, dass zu jedem Originalschlüssel aus der Bestellpositionstabelle ein neuer Schlüssel zu finden ist. Aufbau Artikel-Dimension mit neuem künstlichem Schlüssel OWB Workbook V2 Komplexeres Mapping mit Zwischenschritten, Lookups, Truncate 53. Erstellen Sie in dem Modul DWH in mehreren Schritten eine Tabelle D_KUNDE, die Sie später als Dimensionstabelle nutzen können. Kundennummer Kundenname Wohnort Wohnortnummer Segment Berufsgruppe Berufsgruppennummer a. Leiten Sie Wohnort und Wohnortnummer aus der Tabelle Bestellung (ORTNR) und der Tabelle ORTE ORT) ab. b. Ergänzen Sie die neue Tabelle um die Informationen BERUFSGRUPPE und BERUFSGRUPPENNUMMER indem Sie die zuvor erstellte Tabelle BERUFSGRUPPE verwenden. c. Lösen Sie die Aufgabe in 2 Schritten und verwenden Sie als „Zwischenablage“ eine temporäre Tabelle TMP_KUNDE. d. Wie verhindern Sie, dass sich in der Zwischentabelle nach mehrfachen Testläufen Daten ansammeln? 54. Betrachten sie die übrigen Möglichkeiten des Lookup-Operators a. Was ist, wenn mehrere Lookup-Werte gefunden werden? b. Was ist, wenn kein Lookup-Wert für einen Schlüssel vorhanden ist? Aspekte dieser Übung Verwenden von Lookup-Operatoren Automatisiertes Truncate Arbeiten mit temporären Tabellen 22/28 OWB Workbook V2 Expressions und CASE Blöcke 55. Erstellen Sie in dem Module DWH eine Tabelle F_UMSATZ, die Sie später auch als Faktentabelle nutzen können. Ortnr Kundennr Bestellnr Artikelnr Positionsnr Zeitnr Datum Einzelpreis Menge Steuersatz Gesamtsumme_Pos a. Führen Sie die OLTP-Tabellen BESTELLUNG und BESTELLPOSITIONEN über einen Joiner zusammen. b. Übernehmen Sie Ortnr, Kundennr, Bestellnr, Datum, Menge c. Übernehmen Sie den neuen künstlichen Schlüssel in der Tabelle D_Artikel als Artikelnummer für die Faktentabelle. Die Artikelnummer aus der Bestellpositionstabelle muss über einen Lookup in die D_Artikel-Tabelle ausgetauscht werden. 56. Die Aufgabe ist komplex. Führen Sie daher einen Zwischenschritt ein. Deployen Sie die neue Tabelle und das Mapping. a. Welchen Fehler stellen Sie bei dem Deployen des Mappings fest? b. Wenn Sie 3 mal die Meldung: “ORA-06550: PACKAGE BODY, line 21, column 18: PL/SQL: ORA-00942: table or view does not exist” finden, so liegt die Ursache in dem fehlenden Zugriffsrecht auf Tabellen in dem Schema OLTP. c. Öffnen Sie über SQLPLUS das Schema OLTP und geben Sie den Zugriff auf die Tabellen frei. GRANT SELECT ANY TABLE TO PUBLIC; d. Wiederholen Sie dann die Überführung des Mappings in die Datenbank. 57. Es ist eine gute Praxis die Entwicklung eines Mappings in mehreren Zwischenversionen durchzuführen. Kopieren Sie daher das zuvor begonnene Mapping und entwickeln Sie es unter einem anderen Namen weiter. a. Bevor Sie mit der Weiterentwicklung beginnen, überführen Sie das kopierte Mapping in die Datenbank und testen Sie 23/28 dieses, damit Sie von einem sicheren Stand aus weiterentwickeln können. b. Leiten Sie den Einzelpreis aus der Artikel-Tabelle ab c. Leiten Sie den Steuersatz über die Artikelgruppen-Nummer ab (Artikelgruppennr 1 -> Steuersatz = 7, Artikelgruppennr 2 -> Steuersatz = 12, Artikelgruppennr 3 -> Steuersatz = 19) CASE feldname (oder Ausdruck) WHEN ’Wert_X’ THEN ’Returnvalue_X’ WHEN ’Wert_Y’ THEN ’Returnvalue_Y’ ELSE ’Kein Wert’ END d. Berechnen Sie die Gesamtsumme_Pos aus den Werten Menge und Einzelpreis als Multiplikation. 58. Überführen Sie die Zeitnummer (DATUMNR) aus der Zeit-Tabelle (TAGE) in die Tabelle F_UMSATZ. Nutzen Sie hierzu das Datum der Tabelle Bestellung. Aspekte dieser Übung Verwenden eines Lookup-Operators für mehrere nachgelagerte Schritte Arbeiten mit Expressions CASE Arbeiten mit temporären Tabellen OWB Workbook V2 24/28 Teil 2 des Mappings zur Erstellung der Fakten-Tabelle CASE-Funktion zur Berechnung des Steuersatzes Teil 1 des Mappings zur Erstellung der Fakten-Tabelle OWB Workbook V2 Aufbau einer multidimensional verwendbaren ZeitDimension 59. 60. 61. 62. 63. 64. Erstellen Sie eine Zeitdimension über den entsprechenden Wizzard. Erstellen Sie das Binding zur Dimension. Überführen Sie die Strukturen in die Datenbank. Überführen Sie auch das entstandene Mapping in die Datenbank. Betrachten Sie sich die entstandenen Daten über den Data Viewer. Entstanden ist eine sehr umfangreiche Zeitdimension. Eine solche Dimension wird üblicherweise in einer MOLAP-Datenbank bzw. in der Oracle OLAP-Option verwendet. Für unser Beispiel ist sie überdimensioniert. Es fehlt auch ein laufender Zähler für die einzelnen Tage, den man als kompakten Schlüssel in dem Starschema nutzen könnte. Aus dieser Dimension kann man jedoch eine angepasste Variante nach eigenem Geschmack ableiten. a. Um eine Dimension für ein Starschema zu erhalten nutzen Sie entweder die vorher entstandene Zeitdimension oder die Zeittabelle. Aufbau einer Dimension über den Wizzard 65. Erstellen Sie eine Artikeldimension über den Wizzard. a. Orientieren Sie sich bei der Festlegung der Spalten an der bereits bestehenden Tabelle D_Artikel. b. Führen Sie das Binding durch und Deployen Sie alle Objekte in die Datenbank. Aufbau eines Star Schemas 66. In der Übung ist jetzt ein kleines Starschema entstanden. Informationen wie Zeit und Ort lagen bereits als Testdaten vor. a. Vervollständigen Sie die Definitionen und die Dateninhalte, um ein vollständiges Starschema zu erhalten. Metadatenauswertungen 67. Analysieren Sie alle Abhängigkeiten der Textdatein „Orte.csv“ 68. Betrachten Sie auch den umgekehrten Weg von der Tabelle D_Artikel aus startend. 69. Gelingt es Ihnen auch die Daten einzelner Spalten zu verfolgen? 25/28 OWB Workbook V2 26/28 Aufbau der Workflow/Prozess-Umgebung 70. Installieren Sie das Workflow-Schema in Ihrer Umgebung a. D:\ora\product\11.2.0\dbhome_1\owb\wf\install\wfinstall.bat b. 71. Definieren Sie sich für Ihre Übungen ein Workflow-Modul a. Registrieren Sie dazu das Workflow-Schema OWF_MGR für das OWB-Repository 72. Erstellen Sie sich zunächst einen einfachen Prozess, indem Sie z. B. das Mapping zur Erstellung der Artikel-Tabelle in den Prozess aufnehmen. 73. Deployen Sie das neu erstellte Prozess-Package. 74. Starten Sie den Prozess und und testen Sie das Ergebnis. 75. Monitoring: a. öffnen Sie den Metadaten-Browser, um den Lauf des Workflow-Prozesses zu kontrollieren. 76. Bauen Sie nach und nach alle relevanten Mappings in Ihren Prozess ein a. Achten Sie darauf, dass diejenigen Mappings, die unabhängig von einander sind, also deren Ergebisse nicht aufeinander aufbauen, parallel ablaufen. Installationsschritt OWF: Aufruf von wfinstall OWB Workbook V2 27/28 Anlegen einer Location für owf_mgr Installationsschritt OWF: Hinzufügen von D als Basissprache Ergebnis-Workflow OWB Workbook V2 MDL-Dateien 77. Erstellen Sie eine Sicherung aller Metadaten, die Sie im Verlauf des Übungsprojektes erstellt haben. 78. Nutzen Sie die erstelle Metadatendatei, um ein versehentlich gelöschtes Mapping wieder zurückzuholen. OMBPlus 79. Erstellen sie sich mit Hilfe eines OMB-Scriptes einen Listen-artigen Bericht, mit allen Modulen, Tabellen und den dazu gehörenden Spalten. Sonstige Punkte / Themen Collection Debugger Update / Delete / Insert... Language Name - Andere Sparachen nutzen Zurückholen der ursprünglichen Positionionen von Fenstern etc. Target Loading Order 28/28