OCI GoldenGate Data Transforms entdecken

Hier erfahren Sie, wie Sie OCI GoldenGate-Datenreplikations- und Datentransformations-Deployments zusammen verwenden, um Daten zwischen zwei autonomen Datenbanken zu laden und zu transformieren.

Bevor Sie beginnen

Um diesen Schnellstart erfolgreich abzuschließen, benötigen Sie:

  • Eine Autonomous Database-Quelldatenbank mit geladenen Beispieldaten und aktiviertem zusätzlichem Logging.

    Tipp:

    Sie können die OCI GoldenGate-Beispieldaten herunterladen, wenn Sie Beispieldaten für die Arbeit benötigen.
    • Mit dem SQL-Tool für Datenbankaktionen von Autonomous Database können Sie die beiden Skripte ausführen, um das Benutzerschema und die Tabellen zu erstellen.
    • Mit dem SQL-Tool können Sie zusätzliches Logging aktivieren.
    Befolgen Sie die Schritte unter Übung 1, Aufgabe 3: Verfügbarkeitsschema laden, um weitere Details zu erhalten.
  • GGADMIN-Benutzer in der Autonomous Database-Quellinstanz entsperren
    1. Wählen Sie auf der Seite "Autonomous Database Details" im Menü Database actions die Option Database Users aus.

      Tipp:

      Verwenden Sie die Autonomous Database-Administratorzugangsdaten, die Sie beim Erstellen der Instanz angegeben haben, um sich anzumelden, wenn Sie dazu aufgefordert werden.
    2. Suchen Sie den Benutzer GGGADMIN, und wählen Sie dann im Menü mit den Auslassungspunkten (drei Punkte) die Option Bearbeiten aus.
    3. Geben Sie im Bereich "Benutzer bearbeiten" ein Kennwort ein, bestätigen Sie das Kennwort, und deaktivieren Sie die Option Account ist gesperrt.
    4. Klicken Sie auf Änderungen anwenden.

Aufgabe 1: Umgebung einrichten

  1. Datenreplikations-Deployment erstellen.
  2. Erstellen Sie eine Oracle Autonomous Transaction Processing-(ATP-)Quellverbindung.
  3. Ziel-Autonomous Data Warehouse-(ADW-)Verbindung erstellen.
  4. Verbindung zum Deployment zuweisen.
  5. Mit dem SQL-Tool von Autonomous Database können Sie zusätzliches Logging aktivieren:
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
  6. Führen Sie die folgende Abfrage im SQL-Tool aus, um sicherzustellen, dass support_mode=FULL für alle Tabellen in der Quelldatenbank gilt:
    
    select * from DBA_GOLDENGATE_SUPPORT_MODE where owner = 'SRC_OCIGGLL';

Aufgabe 2: Integrierten Extract erstellen

Ein integrierter Extract erfasst fortlaufende Änderungen an der Quelldatenbank.

  1. Klicken Sie auf der Seite "Deployment-Details" auf Konsole starten.
  2. Geben Sie bei Bedarf oggadmin als Benutzernamen und Kennwort ein, das Sie beim Erstellen des Deployments verwendet haben, und klicken Sie auf Anmelden.
  3. Transaktionsdaten und Checkpoint-Tabelle hinzufügen:
    1. Klicken Sie auf DB-Verbindungen, und öffnen Sie das Navigationsmenü.
    2. Klicken Sie auf Verbindung zur Datenbank herstellen SourceATP.
    3. Klicken Sie im Navigationsmenü auf Trandata und dann auf Trandata hinzufügen (Plussymbol).
    4. Geben Sie unter Schemaname SRC_OCIGGLL ein, und klicken Sie auf Weiterleiten.
    5. Geben Sie zur Prüfung SRC_OCIGGLL in das Suchfeld ein, und klicken Sie auf Suchen.
    6. öffnen Sie das Navigationsmenü, und klicken Sie auf DB-Verbindungen.
    7. Klicken Sie auf Verbindung zur Datenbank herstellen TargetADW.
    8. Klicken Sie im Navigationsmenü auf Checkpoint und dann auf Checkpoint hinzufügen (Plussymbol).
    9. Geben Sie unter Checkpoint-Tabelle "SRCMIRROR_OCIGGLL"."CHECKTABLE" ein, und klicken Sie auf Weiterleiten.
  4. Fügen Sie einen Extract hinzu.

    Hinweis:

    Weitere Informationen zu Parametern, mit denen Sie Quelltabellen angeben können, finden Sie unter Zusätzliche Exportparameteroptionen.
    Hängen Sie die folgenden Zeilen auf der Seite "Extract-Parameter" unter EXTTRAIL <trail-name> an:
    -- Capture DDL operations for listed schema tables
    ddl include mapped
    
    -- Add step-by-step history of 
    -- to the report file. Very useful when troubleshooting.
    ddloptions report 
    
    -- Write capture stats per table to the report file daily.
    report at 00:01 
    
    -- Rollover the report file weekly. Useful when IE runs
    -- without being stopped/started for long periods of time to
    -- keep the report files from becoming too large.
    reportrollover at 00:01 on Sunday 
    
    -- Report total operations captured, and operations per second
    -- every 10 minutes.
    reportcount every 10 minutes, rate 
    
    -- Table list for capture
    table SRC_OCIGGLL.*;
  5. Prüfen Sie, ob Transaktionen mit langer Ausführungszeit vorliegen. Führen Sie das folgende Skript in der Quelldatenbank aus:
    select start_scn, start_time from gv$transaction where start_scn < (select max(start_scn) from dba_capture);

    Wenn die Abfrage Zeilen zurückgibt, müssen Sie die SCN der Transaktion suchen und die Transaktion anschließend festschreiben oder zurücksetzen.

Aufgabe 3: Daten mit Oracle Data Pump (ExpDP) exportieren

Mit Oracle Data Pump (ExpDP) können Sie Daten aus der Quelldatenbank in Oracle Object Storage exportieren.

  1. Erstellen Sie einen Oracle Object Storage-Bucket.

    Notieren Sie sich den Namespace und den Bucket-Namen für die Export- und Importskripte.

  2. Erstellen Sie ein Authentifizierungstoken, kopieren Sie die Tokenzeichenfolge, und fügen Sie sie zur späteren Verwendung in einen Texteditor ein.
  3. Erstellen Sie Zugangsdaten in der Quelldatenbank, und ersetzen Sie <user-name> und <token> durch den Benutzernamen Ihres Oracle Cloud-Accounts und die Tokenzeichenfolge, die Sie im vorherigen Schritt erstellt haben:
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'ADB_OBJECTSTORE', 
        username => '<user-name>',
        password => '<token>'
      );
    END;
  4. Führen Sie das folgende Skript in der Quelldatenbank aus, um den Job "Daten exportieren" zu erstellen. Stellen Sie sicher, dass Sie <region>, <namespace> und <bucket-name> in der Objektspeicher-URI entsprechend ersetzen. SRC_OCIGGLL.dmp ist eine Datei, die bei der Ausführung dieses Skripts erstellt wird.
    DECLARE
    ind NUMBER;              -- Loop index
    h1 NUMBER;               -- Data Pump job handle
    percent_done NUMBER;     -- Percentage of job complete
    job_state VARCHAR2(30);  -- To keep track of job state
    le ku$_LogEntry;         -- For WIP and error messages
    js ku$_JobStatus;        -- The job status from get_status
    jd ku$_JobDesc;          -- The job description from get_status
    sts ku$_Status;          -- The status object returned by get_status
    
    BEGIN
    -- Create a (user-named) Data Pump job to do a schema export.
    h1 := DBMS_DATAPUMP.OPEN('EXPORT','SCHEMA',NULL,'SRC_OCIGGLL_EXPORT','LATEST');
    
    -- Specify a single dump file for the job (using the handle just returned
    -- and a directory object, which must already be defined and accessible
    -- to the user running this procedure.
    DBMS_DATAPUMP.ADD_FILE(h1,'https://objectstorage.<region>.oraclecloud.com/n/<namespace>/b/<bucket-name>/o/SRC_OCIGGLL.dmp','ADB_OBJECTSTORE','100MB',DBMS_DATAPUMP.KU$_FILE_TYPE_URIDUMP_FILE,1);
    
    -- A metadata filter is used to specify the schema that will be exported.
    DBMS_DATAPUMP.METADATA_FILTER(h1,'SCHEMA_EXPR','IN (''SRC_OCIGGLL'')');
    
    -- Start the job. An exception will be generated if something is not set up properly.
    DBMS_DATAPUMP.START_JOB(h1);
    
    -- The export job should now be running. In the following loop, the job
    -- is monitored until it completes. In the meantime, progress information is displayed.
    percent_done := 0;
    job_state := 'UNDEFINED';
    while (job_state != 'COMPLETED') and (job_state != 'STOPPED') loop
      dbms_datapump.get_status(h1,dbms_datapump.ku$_status_job_error + dbms_datapump.ku$_status_job_status + dbms_datapump.ku$_status_wip,-1,job_state,sts);
      js := sts.job_status;
    
    -- If the percentage done changed, display the new value.
    if js.percent_done != percent_done
    then
      dbms_output.put_line('*** Job percent done = ' || to_char(js.percent_done));
      percent_done := js.percent_done;
    end if;
    
    -- If any work-in-progress (WIP) or error messages were received for the job, display them.
    if (bitand(sts.mask,dbms_datapump.ku$_status_wip) != 0)
    then
      le := sts.wip;
    else
      if (bitand(sts.mask,dbms_datapump.ku$_status_job_error) != 0)
      then
        le := sts.error;
      else
        le := null;
      end if;
    end if;
    if le is not null
    then
      ind := le.FIRST;
      while ind is not null loop
        dbms_output.put_line(le(ind).LogText);
        ind := le.NEXT(ind);
      end loop;
    end if;
      end loop;
    
      -- Indicate that the job finished and detach from it.
      dbms_output.put_line('Job has completed');
      dbms_output.put_line('Final job state = ' || job_state);
      dbms_datapump.detach(h1);
    END;

Aufgabe 4: Zieldatenbank mit Oracle Data Pump (ImpDP) instanziieren

Mit Oracle Data Pump (ImpDP) können Sie Daten aus der Datei SRC_OCIGGLL.dmp, die aus der Quelldatenbank exportiert wurde, in die Zieldatenbank importieren.

  1. Erstellen Sie Zugangsdaten in der Zieldatenbank für den Zugriff auf Oracle Object Storage (mit denselben Informationen wie im vorherigen Abschnitt).
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL( 
        credential_name => 'ADB_OBJECTSTORE',
        username => '<user-name>',
        password => '<token>'
      );
    END;
  2. Führen Sie das folgende Skript in der Zieldatenbank aus, um Daten aus SRC_OCIGGLL.dmp zu importieren. Stellen Sie sicher, dass Sie <region>, <namespace> und <bucket-name> in der Objektspeicher-URI entsprechend ersetzen:
    DECLARE
    ind NUMBER;  -- Loop index
    h1 NUMBER;  -- Data Pump job handle
    percent_done NUMBER;  -- Percentage of job complete
    job_state VARCHAR2(30);  -- To keep track of job state
    le ku$_LogEntry;  -- For WIP and error messages
    js ku$_JobStatus;  -- The job status from get_status
    jd ku$_JobDesc;  -- The job description from get_status
    sts ku$_Status;  -- The status object returned by get_status
    BEGIN
    
    -- Create a (user-named) Data Pump job to do a "full" import (everything
    -- in the dump file without filtering).
    h1 := DBMS_DATAPUMP.OPEN('IMPORT','FULL',NULL,'SRCMIRROR_OCIGGLL_IMPORT');
    
    -- Specify the single dump file for the job (using the handle just returned)
    -- and directory object, which must already be defined and accessible
    -- to the user running this procedure. This is the dump file created by
    -- the export operation in the first example.
    
    DBMS_DATAPUMP.ADD_FILE(h1,'https://objectstorage.<region>.oraclecloud.com/n/<namespace>/b/<bucket-name>/o/SRC_OCIGGLL.dmp','ADB_OBJECTSTORE',null,DBMS_DATAPUMP.KU$_FILE_TYPE_URIDUMP_FILE);
    
    
    -- A metadata remap will map all schema objects from SRC_OCIGGLL to SRCMIRROR_OCIGGLL.
    DBMS_DATAPUMP.METADATA_REMAP(h1,'REMAP_SCHEMA','SRC_OCIGGLL','SRCMIRROR_OCIGGLL');
    
    -- If a table already exists in the destination schema, skip it (leave
    -- the preexisting table alone). This is the default, but it does not hurt
    -- to specify it explicitly.
    DBMS_DATAPUMP.SET_PARAMETER(h1,'TABLE_EXISTS_ACTION','SKIP');
    
    -- Start the job. An exception is returned if something is not set up properly.
    DBMS_DATAPUMP.START_JOB(h1);
    
    -- The import job should now be running. In the following loop, the job is
    -- monitored until it completes. In the meantime, progress information is
    -- displayed. Note: this is identical to the export example.
    percent_done := 0;
    job_state := 'UNDEFINED';
    while (job_state != 'COMPLETED') and (job_state != 'STOPPED') loop
      dbms_datapump.get_status(h1,
        dbms_datapump.ku$_status_job_error +
        dbms_datapump.ku$_status_job_status +
        dbms_datapump.ku$_status_wip,-1,job_state,sts);
        js := sts.job_status;
    
      -- If the percentage done changed, display the new value.
      if js.percent_done != percent_done
      then
        dbms_output.put_line('*** Job percent done = ' ||
        to_char(js.percent_done));
        percent_done := js.percent_done;
      end if;
    
      -- If any work-in-progress (WIP) or Error messages were received for the job, display them.
      if (bitand(sts.mask,dbms_datapump.ku$_status_wip) != 0)
      then
        le := sts.wip;
      else
        if (bitand(sts.mask,dbms_datapump.ku$_status_job_error) != 0)
        then
          le := sts.error;
        else
          le := null;
        end if;
      end if;
      if le is not null
      then
        ind := le.FIRST;
        while ind is not null loop
          dbms_output.put_line(le(ind).LogText);
          ind := le.NEXT(ind);
        end loop;
      end if;
    end loop;
    
    -- Indicate that the job finished and gracefully detach from it.
    dbms_output.put_line('Job has completed');
    dbms_output.put_line('Final job state = ' || job_state);
    dbms_datapump.detach(h1);
    END;

Aufgabe 5: Nicht integriertes Replicat hinzufügen und ausführen

  1. Fügen Sie ein Replicat hinzu, und führen Sie es aus.
    Ersetzen Sie auf der Seite Parameterdatei MAP *.*, TARGET *.*; durch das folgende Skript:
    -- Capture DDL operations for listed schema tables
    --
    ddl include mapped
    --
    -- Add step-by-step history of ddl operations captured
    -- to the report file. Very useful when troubleshooting.
    --
    ddloptions report
    --
    -- Write capture stats per table to the report file daily.
    --
    report at 00:01
    --
    -- Rollover the report file weekly. Useful when PR runs
    -- without being stopped/started for long periods of time to
    -- keep the report files from becoming too large.
    --
    reportrollover at 00:01 on Sunday
    --
    -- Report total operations captured, and operations per second
    -- every 10 minutes.
    --
    reportcount every 10 minutes, rate
    --
    -- Table map list for apply
    --
    DBOPTIONS ENABLE_INSTANTIATION_FILTERING;
    MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;

    Hinweis:

    DBOPTIONS ENABLE_INSTATIATION_FILTERING ermöglicht die CSN-Filterung von Tabellen, die mit Oracle Data Pump importiert wurden. Weitere Informationen finden Sie in der Referenz zu DBOPTIONS.
  2. Inserts in die Quelldatenbank ausführen:
    1. Kehren Sie zur Oracle Cloud-Konsole zurück, und navigieren Sie über das Navigationsmenü zurück zu Oracle Database, Autonomous Transaction Processing und dann zu SourceATP.
    2. Klicken Sie auf der Seite "Source ATP Details" auf Database actions, und klicken Sie dann auf SQL.
    3. Geben Sie die folgenden Einfügevorgänge ein, und klicken Sie auf Skript ausführen:
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
      Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    4. Klicken Sie in der OCI-Deployment-Konsole GoldenGate auf den Extraktnamen (UAEXT) und dann auf Statistiken. Stellen Sie sicher, dass SRC_OCIGGLL.SRC_CITY mit 10 Einfügungen aufgeführt ist.
    5. Gehen Sie zum Bildschirm "Überblick" zurück, klicken Sie auf den Replikat-Namen (REP), und klicken Sie dann auf "Statistik". Prüfen Sie, ob SRCMIRROR_OCIGGLL.SRC_CITY mit 10 Einfügungen aufgeführt ist

Aufgabe 6: Ressourcen für Datentransformationen erstellen

  1. Deployment "Datentransformationen" erstellen.
  2. Generische Verbindung erstellen.

    Hinweis:

    Beispiel: Verwenden Sie für autonome Datenbanken in US East (Ashburn) die folgenden Werte:
    • Geben Sie unter Host adb.us-ashburn-1.oraclecloud.com:1522 ein.
    • Wählen Sie unter Subnetz dasselbe Subnetz wie das Deployment aus der Dropdown-Liste aus.
  3. Generische Verbindung zum Deployment zuweisen.
  4. Erstellen Sie TRG_CUSTOMER in SRCMIRROR_OCIGGLL in der Autonomous Data Warehouse-(ADW-)Instanz:
    1. Öffnen Sie in der Oracle Cloud-Konsole das Navigationsmenü, navigieren Sie zu Oracle Database, und wählen Sie Autonomous Data Warehouse aus.
    2. Klicken Sie auf der Seite Autonome Datenbanken auf Ihre ADW-Instanz.
    3. Klicken Sie auf der Seite "ADW Autonomous Database details" auf Database actions, und wählen Sie SQL aus der Dropdown-Liste aus. Wenn das Menü "Datenbankaktionen" zu lange dauert, können Sie direkt auf Datenbankaktionen klicken und dann auf der Seite "Datenbankaktionen" die Option "SQL" auswählen.
    4. Wählen Sie im Arbeitsblatt Folgendes aus, und klicken Sie auf Anweisung ausführen.
      create table SRCMIRROR_OCIGGLL.TRG_CUSTOMER (
         CUST_ID              NUMBER(10,0)     not null,
         DEAR                 VARCHAR2(4 BYTE),
         CUST_NAME            VARCHAR2(50 BYTE),
         ADDRESS              VARCHAR2(100 BYTE),
         CITY_ID              NUMBER(10,0),
         PHONE                VARCHAR2(50 BYTE),
         AGE                  NUMBER(3,0),
         AGE_RANGE            VARCHAR2(50 BYTE),
         SALES_PERS           VARCHAR2(50 BYTE),
         CRE_DATE             DATE,
         UPD_DATE             DATE,
         constraint PK_TRG_CUSTOMER primary key (CUST_ID)
      );
  5. Starten Sie die Deployment-Konsole für Datentransformationen:
    1. Navigieren Sie zurück zur Seite "Deployments", und wählen Sie das Deployment aus, das Sie in Aufgabe 6 erstellt haben.
    2. Klicken Sie auf der Seite "Deployment" auf Konsole starten.
    3. Melden Sie sich bei der Deployment-Konsole für Datentransformationen an.
  6. ADW-Verbindung erstellen:
    1. Öffnen Sie das Navigationsmenü, klicken Sie auf Verbindungen und dann auf Verbindung erstellen.
    2. Wählen Sie auf der Seite "Typ auswählen" unter "Datenbanken" die Option Oracle aus, und klicken Sie auf Weiter.
    3. Füllen Sie auf der Seite "Verbindungsdetails" die Formularfelder wie folgt aus, und klicken Sie auf Erstellen:
      1. Geben Sie als Namen ADW_IAD ein.
      2. Wählen Sie Zugangsdatendatei verwenden.
      3. Laden Sie für Wallet File Ihre (ADW-)Wallet-Datei hoch.

        Hinweis:

        Um die ADW-Wallet-Datei herunterzuladen, klicken Sie auf der ADW-Detailseite auf Datenbankverbindung.
      4. Wählen Sie im Dropdown-Menü "Services" die Option <name>_low aus.
      5. Geben Sie als Benutzer ADMIN ein.
      6. Geben Sie als Kennwort Ihr ADW-Kennwort ein.
  7. Datenentity importieren:
    1. Öffnen Sie das Navigationsmenü, klicken Sie auf Datenentitys und dann auf Datenentity importieren.
    2. Wählen Sie unter "Verbindung" in der Dropdown-Liste die Option ADW_IAD aus.
    3. Wählen Sie unter "Schema" in der Dropdown-Liste SRCMIRROR_OCIGGLL aus.
    4. Klicken Sie auf Start.
  8. Projekt erstellen:
    1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Projekte.
    2. Klicken Sie auf der Seite "Projekte" auf Projekt erstellen.
    3. Geben Sie im Dialogfeld "Projekt erstellen" unter "Name" die Demo-Pipeline ein, und klicken Sie auf Erstellen.

Aufgabe 7: Workflow erstellen und ausführen

  1. Datenfluss erstellen:
    1. Wählen Sie den Namen Ihres Projekts aus.
    2. Klicken Sie auf der Seite "Projektdetails" unter "Ressourcen" auf Datenflüsse und dann auf Datenfluss erstellen.
    3. Geben Sie im Dialogfeld "Datenfluss erstellen" unter "Name" TRG_CUSTOMER laden und optional eine Beschreibung ein. Klicken Sie auf Erstellen. Die Designleinwand wird geöffnet.
    4. Füllen Sie im Dialogfeld "Schema hinzufügen" die Formularfelder wie folgt aus, und klicken Sie auf OK:
      1. Wählen Sie für die Verbindung in der Dropdown-Liste die Option ADW_IAD aus.
      2. Wählen Sie für Schema in der Dropdown-Liste die Option SRCMIRROR_OCIGGLL aus.
    5. Ziehen Sie die folgenden Datenentitys und Komponenten auf die Design-Leinwand:
      1. Blenden Sie im Bereich "Datenentitys" das Schema SRCMIRROR_OCIGGLL ein. Ziehen Sie die Datenentity SRC_AGE_GROUP auf die Designleinwand.
      2. Blenden Sie im Bereich "Datenentitys" das Schema SRCMIRROR_OCIGGLL ein. Ziehen Sie die Datenentity SRC_SALES_PERSON auf die Designleinwand.
      3. Ziehen Sie die Komponente Lookup in der Symbolleiste "Datentransformation" auf die Designleinwand.
      4. Ziehen Sie die Komponente Verknüpfen in der Symbolleiste "Datentransformation" auf die Entwurfsleinwand.
      5. Ziehen Sie im Bereich "Datenentitys" unter SRCMIRROR_OCIGGLL die Datenentity SRC_CUSTOMER auf die Designleinwand.
    6. Verbinden Sie die folgenden Datenentitys mit der Komponente Lookup:
      1. Klicken Sie auf das Connector-Symbol SRC_AGE_GROUP, und ziehen Sie das Symbol in die Komponente Lookup.
      2. Klicken Sie auf das Connector-Symbol SRC_CUSTOMER, und ziehen Sie das Symbol in die Komponente Lookup.
    7. Klicken Sie auf der Entwurfsleinwand auf Suchen, um den Suchbereich zu öffnen. Wechseln Sie im Suchbereich zur Registerkarte Attribute, und fügen Sie die folgende Abfrage in die Suchbedingung ein:
      SRC_CUSTOMER.AGE between SRC_AGE_GROUP.AGE_MIN and SRC_AGE_GROUP.AGE_MAX
    8. Verbinden Sie die folgenden Komponenten mit der Join-Komponente:
      1. Klicken Sie auf das Connector-Symbol SRC_SALES_PERSON, und ziehen Sie das Symbol in die Komponente Beitreten.
      2. Klicken Sie auf das Connector-Symbol Lookup, und ziehen Sie das Symbol in die Komponente Beitreten.
    9. Klicken Sie auf der Designleinwand auf Beitreten, um den Join-Bereich zu öffnen. Wechseln Sie im Join-Bereich zur Registerkarte Attribute, und fügen Sie die folgende Abfrage in Join-Bedingung ein:
      SRC_CUSTOMER.SALES_PERS_ID=SRC_SALES_PERSON.SALES_PERS_ID
    10. Ziehen Sie die folgende Datenentity und -komponente auf die Entwurfsleinwand:
      1. Ziehen Sie im Bereich "Datenentitys" unter SRCMIRROR_OCIGGLL die Datenentity TRG_CUSTOMER auf die Designleinwand.
      2. Klicken Sie auf das Symbol Join Connector, und ziehen Sie das Symbol in die Datenentity TRG_CUSTOMER.
      3. Klicken Sie auf der Entwurfsleinwand auf TRG_CUSTOMER, und blenden Sie die Datenentity ein.
    11. Aktivieren Sie auf der Registerkarte Attribute den Schlüssel für CUST_ID, deaktivieren Sie "Aktualisieren" für CRE_DATE, und deaktivieren Sie "Einfügen" für UPD_DATE.
    12. Stellen Sie auf der Registerkarte Spaltenzuordnung sicher, dass der Name mit dem Ausdruck übereinstimmt:
      1. CUST_ID
        SRC_CUSTOMER.CUSTID
      2. DEAR
        CASE WHEN SRC_CUSTOMER.DEAR = 0 THEN 'Mr' WHEN SRC_CUSTOMER.DEAR = 1 THEN 'Mrs' ELSE 'Ms' END
      3. CUST_NAME
        SRC_CUSTOMER.FIRST_NAME || ' ' || UPPER(SRC_CUSTOMER.LAST_NAME)
      4. SALES_PERS
        SRC_SALES_PERSON.FIRST_NAME || ' ' ||UPPER(SRC_SALES_PERSON.LAST_NAME)
      5. CRE_DATE
        SYSDATE
      6. UPD_DATE
        SYSDATE
      7. Andere Mappings unverändert verwenden.
    13. Wählen Sie auf der Registerkarte Optionen unter "Modus" in der Dropdown-Liste die Option Inkrementelles Update aus.
    14. Reduzieren Sie TRG_CUSTOMER.
    15. Klicken Sie auf Datenfluss speichern.
  2. Workflow erstellen:
    1. Wählen Sie den Namen Ihres Projekts aus, wählen Sie Workflows und dann Workflow erstellen aus.
    2. Geben Sie als Namen Data Warehouse-Ladevorgang orchestrieren ein. Klicken Sie auf "Erstellen".
    3. Ziehen Sie das Symbol SQL auf der Designleinwand.
    4. Doppelklicken Sie im Editor auf den SQL-Schritt, um die Seite "Schritteigenschaften" zu öffnen.
    5. Geben Sie auf der Registerkarte Allgemein als Namen Datenbereinigung ein.
    6. Wählen Sie die Registerkarte Attribute für die Verbindung aus. Wählen Sie in der Dropdown-Liste die Option ADW_IAD aus.
    7. Kopieren Sie für SQL die folgende Abfrage:
      delete from SRCMIRROR_OCIGGLL.TRG_CUSTOMER where CITY_ID > 110
    8. Blenden Sie SQL ein.
    9. Ziehen Sie unter "Datenflüsse" den Datenfluss TRG_CUSTOMER auf die Designleinwand.
    10. Klicken Sie auf die SQL-Workflowzeile Datenbereinigung, und ziehen Sie das Symbol "OK" (grüner Pfeil) in den Datenfluss TRG_CUSTOMER.
    11. Klicken Sie auf Workflow speichern und dann auf Workflow starten.
  3. Jobs erstellen und verwalten.