Découvrir les transformations de données GoldenGate pour OCI

Voyez comment utiliser ensemble des déploiements de réplication de données OCI GoldenGate et de transformations de données pour charger et transformer des données entre deux bases de données autonomes.

Avant de commencer

Pour terminer ce démarrage rapide, vous avez besoin de :

  • Une base de données Autonomous Database source avec des données-échantillons chargées et la journalisation supplémentaire activée.

    Conseil :

    Vous pouvez télécharger les données-échantillons OCI GoldenGate, si vous avez besoin de données-échantillons pour fonctionner.
    • Utilisez l'outil SQL Actions de base de données d'Autonomous Database pour exécuter les deux scripts afin de créer le schéma et les tables de l'utilisateur.
    • Utilisez l'outil SQL pour activer la journalisation supplémentaire.
    Pour plus de détails, suivez les étapes décrites dans Laboratoire 1, Tâche 3 : Charger le schéma ATP.
  • Déverrouiller l'utilisateur GGADMIN sur l'instance Autonomous Database source
    1. Dans la page Détails de la base de données Autonomous Database, sélectionnez Utilisateurs de base de données dans le menu Actions de base de données.

      Conseil :

      Utilisez les données d'identification de l'administrateur de base de données Autonomous Database fournies lors de la création de l'instance pour la connexion, si vous y êtes invité.
    2. Localisez l'utilisateur GGADMIN, puis sélectionnez Modifier dans son menu de points de suspension (trois points).
    3. Dans le panneau Modifier l'utilisateur, entrez un mot de passe, confirmez-le, puis désélectionnez Le compte est verrouillé.
    4. Cliquez sur appliquer les modifications.

Tâche 1 : Configurer l'environnement

  1. Créez un déploiement de réplication de données.
  2. Créez une connexion Oracle Autonomous Transaction Processing (ATP) source.
  3. Créez une connexion à une base de données Autonomous Data Warehouse (ADW) cible.
  4. Affecter une connexion au déploiement.
  5. Utilisez l'outil SQL d'Autonomous Database pour activer la journalisation supplémentaire :
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
  6. Exécutez l'interrogation suivante dans l'outil SQL pour vous assurer que support_mode=FULL pour toutes les tables de la base de données source :
    
    select * from DBA_GOLDENGATE_SUPPORT_MODE where owner = 'SRC_OCIGGLL';

Tâche 2 : Créer le processus d'extraction intégrée

Une extraction intégrée saisit les modifications en cours apportées à la base de données source.

  1. On the deployment Details page, click Launch console.
  2. Si nécessaire, entrez oggadmin pour le nom d'utilisateur et le mot de passe que vous avez utilisés lors de la création du déploiement, puis cliquez sur Connexion.
  3. Ajouter des données de transaction et une table de points de reprise :
    1. ouvrez le menu de navigation et cliquez sur Connexions à la base de données.
    2. Cliquez sur Se connecter à la base de données SourceATP.
    3. Dans le menu de navigation, cliquez sur Trandata, puis sur Ajouter un trandata (icône plus).
    4. Pour Nom du schéma, entrez SRC_OCIGGLL, puis cliquez sur Soumettre.
    5. Pour vérifier, entrez SRC_OCIGGLL dans le champ Rechercher et cliquez sur Rechercher.
    6. Ouvrez le menu de navigation, puis cliquez sur Connexions à la base de données.
    7. Cliquez sur Se connecter à la base de données TargetADW.
    8. Dans le menu de navigation, cliquez sur Point de vérification, puis sur Ajouter un point de vérification (icône plus).
    9. Pour Table de points de vérification, entrez "SRCMIRROR_OCIGGLL"."CHECKTABLE", puis cliquez sur Soumettre.
  4. Ajoutez un processus d'extraction.

    Note :

    Voir Options de paramètre d'extraction supplémentaires pour plus d'informations sur les paramètres que vous pouvez utiliser pour spécifier des tables sources.
    Dans la page Paramètres d'extraction, ajoutez les lignes suivantes sous EXTTRAIL <trail-name> :
    -- 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. Vérifiez les transactions de longue durée. Exécutez le script suivant sur votre base de données source :
    select start_scn, start_time from gv$transaction where start_scn < (select max(start_scn) from dba_capture);

    Si l'interrogation retourne des rangées, vous devez localiser le numéro SCN de la transaction, puis valider ou repositionner celle-ci.

Tâche 3 : Exporter des données à l'aide d'Oracle Data Pump (ExpDP)

Utilisez Oracle Data Pump (ExpDP) pour exporter des données de la base de données source vers le magasin d'objets Oracle.

  1. Créez un seau du magasin d'objets Oracle.

    Notez l'espace de noms et le nom du seau à utiliser avec les scripts d'exportation et d'importation.

  2. Créez un jeton d'authentification, puis copiez et collez la chaîne du jeton dans un éditeur de texte pour une utilisation ultérieure.
  3. Créez des données d'identification dans votre base de données source, en remplaçant <user-name> et <token> par le nom d'utilisateur de votre compte Oracle Cloud et la chaîne du jeton que vous avez créée à l'étape précédente :
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'ADB_OBJECTSTORE', 
        username => '<user-name>',
        password => '<token>'
      );
    END;
  4. Exécutez le script suivant dans la base de données source pour créer la tâche d'exportation de données. Assurez-vous de remplacer les valeurs <region>, <namespace> et <bucket-name> dans l'URI du magasin d'objets en conséquence. SRC_OCIGGLL.dmp est un fichier qui sera créé lors de l'exécution de ce script.
    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;

Tâche 4 : Instancier la base de données cible à l'aide d'Oracle Data Pump (ImpDP)

Utilisez Oracle Data Pump (ImpDP) pour importer des données dans la base de données cible à partir du fichier SRC_OCIGGLL.dmp exporté à partir de la base de données source.

  1. Créez des données d'identification dans la base de données cible pour accéder au magasin d'objets Oracle (à l'aide des mêmes informations que dans la section précédente).
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL( 
        credential_name => 'ADB_OBJECTSTORE',
        username => '<user-name>',
        password => '<token>'
      );
    END;
  2. Exécutez le script suivant dans la base de données cible pour importer les données du fichier SRC_OCIGGLL.dmp. Assurez-vous de remplacer les valeurs <region>, <namespace> et <bucket-name> dans l'URI du magasin d'objets en conséquence :
    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;

Tâche 5 : Ajouter et exécuter un processus de réplication non intégrée

  1. Ajoutez et exécutez une réplication.
    Dans l'écran Fichier de paramètre, remplacez MAP *.*, TARGET *.*; par le script suivant :
    -- 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.*;

    Note :

    DBOPTIONS ENABLE_INSTATIATION_FILTERING permet le filtrage du CSN sur les tables importées à l'aide d'Oracle Data Pump. Pour plus d'informations, voir Informations de référence sur DBOPTIONS.
  2. Effectuez les insertions dans la base de données source :
    1. Retournez à la console Oracle Cloud et utilisez le menu de navigation pour retourner à Oracle Database, à Autonomous Transaction Processing, puis à SourceATP.
    2. Dans la page Détails du DAV source, cliquez sur Actions de base de données, puis sur SQL.
    3. Entrez les insertions suivantes, puis cliquez sur Exécuter le script :
      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. Dans la console de déploiement OCI GoldenGate, cliquez sur Extraire le nom (UAEXT), puis sur Statistiques. Vérifiez que SRC_OCIGGLL.SRC_CITY est répertorié avec 10 insertions.
    5. Retournez à l'écran Aperçu, cliquez sur le nom de la réplication (REP), puis cliquez sur Statistiques. Vérifiez que SRCMIRROR_OCIGGLL.SRC_CITY est répertorié avec 10 insertions

Tâche 6 : Créer les ressources Data Transforms

  1. Créer un déploiement Data Transforms.
  2. Créez une connexion générique.

    Note :

    Par exemple, pour Autonomous Databases in US East (Ashburn), utilisez les valeurs suivantes :
    • Pour Hôte, entrez adb.us-ashburn-1.oraclecloud.com:1522.
    • Pour Sous-réseau, sélectionnez le même sous-réseau que le déploiement dans la liste déroulante.
  3. Affectez la connexion générique au déploiement.
  4. Créez TRG_CUSTOMER dans SRCMIRROR_OCIGGLL dans votre instance de base de données Autonomous Data Warehouse (ADW) :
    1. Dans la console Oracle Cloud, ouvrez le menu de navigation, naviguez jusqu'à Oracle Database, puis sélectionnez Autonomous Data Warehouse.
    2. Dans la page Bases de données autonomes, cliquez sur votre instance ADW.
    3. Dans la page des détails d'ADW Autonomous Database, cliquez sur Actions de base de données, puis sélectionnez SQL dans la liste déroulante. Si le chargement du menu Actions de base de données est trop long, vous pouvez cliquer directement sur Actions de base de données, puis sélectionner SQL dans la page Actions de base de données.
    4. Entrez les informations suivantes dans la feuille de calcul, puis cliquez sur Exécuter l'énoncé.
      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. Lancez la console de déploiement Data Transforms :
    1. Retournez à la page Déploiements, puis sélectionnez le déploiement que vous avez créé au cours de la tâche 6.
    2. Dans la page des détails du déploiement, cliquez sur Lancer la console.
    3. Connectez-vous à la console de déploiement Data Transforms.
  6. Créer une connexion ADW :
    1. Ouvrez le menu de navigation, cliquez sur Connexions, puis sur Créer une connexion.
    2. Dans la page Sélectionner un type, sous Bases de données, sélectionnez Oracle, puis cliquez sur Suivant.
    3. Dans la page Détails de la connexion, remplissez les champs du formulaire comme suit, puis cliquez sur Créer :
      1. Pour Nom, entrez ADW_IAD.
      2. Sélectionnez Utiliser le fichier de données d'identification.
      3. Pour le fichier de portefeuille, chargez votre fichier de portefeuille (ADW).

        Note :

        Pour télécharger votre fichier de portefeuille ADW, cliquez sur Connexion à la base de données dans la page des détails ADW.
      4. Dans la liste déroulante Services, sélectionnez <name>_low.
      5. Pour Utilisateur, entrez ADMIN.
      6. Entrez votre mot de passe ADW dans le champ Password.
  7. Importer l'entité de données :
    1. Ouvrez le menu de navigation, cliquez sur Entités de données, puis sur Importer une entité de données.
    2. Pour Connexion, sélectionnez ADW_IAD dans la liste déroulante.
    3. Pour Schema, sélectionnez SRCMIRROR_OCIGGLL dans la liste déroulante.
    4. Cliquez sur Démarrer.
  8. Créer un projet :
    1. Ouvrez le menu de navigation, cliquez sur Projets.
    2. Dans la page Projets, cliquez sur Créer un projet.
    3. Dans la boîte de dialogue Créer un projet, pour Nom, entrez demo-pipeline, puis cliquez sur Créer.

Tâche 7 : Créer et exécuter un flux de travail

  1. Créer un flux de données :
    1. Sélectionnez le nom de votre projet.
    2. Dans la page Détails du projet, sous Ressources, cliquez sur Flux de données, puis sur Créer un flux de données.
    3. Dans la boîte de dialogue Créer un flux de données, pour Nom, entrez Charger TRG_CUSTOMER et, éventuellement, une description. Cliquez sur Créer. Le canevas de conception s'ouvre.
    4. Dans la boîte de dialogue Ajouter un schéma, remplissez les champs du formulaire comme suit, puis cliquez sur OK :
      1. Pour Connexion, sélectionnez ADW_IAD dans la liste déroulante.
      2. Pour Schema, sélectionnez SRCMIRROR_OCIGGLL dans la liste déroulante.
    5. Faites glisser les entités de données et les composants suivants vers le canevas de conception :
      1. Dans le panneau Entités de données, développez le schéma SRCMIRROR_OCIGGLL. Faites glisser l'entité de données SRC_AGE_GROUP vers le canevas de conception.
      2. Dans le panneau Entités de données, développez le schéma SRCMIRROR_OCIGGLL. Faites glisser l'entité de données SRC_SALES_PERSON vers le canevas de conception.
      3. Dans la barre d'outils Transformation de données, faites glisser le composant Consultation vers le canevas de conception.
      4. Dans la barre d'outils Transformation de données, faites glisser le composant Joindre vers le canevas de conception.
      5. Dans le panneau Entités de données, sous SRCMIRROR_OCIGGLL, faites glisser l'entité de données SRC_CUSTOMER vers le canevas de conception.
    6. Connectez les entités de données suivantes au composant Consultation :
      1. Cliquez sur l'icône Connecteur SRC_AGE_GROUP et faites glisser l'icône vers le composant Consultation.
      2. Cliquez sur l'icône Connecteur SRC_CUSTOMER et faites glisser l'icône vers le composant Consultation.
    7. Dans le canevas de conception, cliquez sur Consultation pour ouvrir le panneau Consultation. Dans le panneau Consultation, passez à l'onglet Attributs, puis collez l'interrogation suivante dans Condition de consultation :
      SRC_CUSTOMER.AGE between SRC_AGE_GROUP.AGE_MIN and SRC_AGE_GROUP.AGE_MAX
    8. Connectez les composants suivants au composant Jointure :
      1. Cliquez sur l'icône Connecteur SRC_SALES_PERSON et faites glisser l'icône vers le composant Joindre.
      2. Cliquez sur l'icône Connecteur de consultation et faites glisser l'icône vers le composant Joindre.
    9. Dans le canevas de conception, cliquez sur Joindre pour ouvrir le panneau Jointure. Dans le panneau Jointure, passez à l'onglet Attributs, puis collez l'interrogation suivante dans Condition de jointure :
      SRC_CUSTOMER.SALES_PERS_ID=SRC_SALES_PERSON.SALES_PERS_ID
    10. Faites glisser l'entité de données et le composant suivants vers le canevas de conception :
      1. Dans le panneau Entités de données, sous SRCMIRROR_OCIGGLL, faites glisser l'entité de données TRG_CUSTOMER vers le canevas de conception.
      2. Cliquez sur l'icône Joindre au connecteur et faites glisser l'icône vers l'entité de données TRG_CUSTOMER.
      3. Dans le canevas de conception, cliquez sur TRG_CUSTOMER et développez l'entité de données.
    11. Dans l'onglet Attributs, activez la clé pour CUST_ID, désactivez la mise à jour pour CRE_DATE et désactivez l'option Insérer pour UPD_DATE.
    12. Dans l'onglet Mappage de colonnes, assurez-vous que le nom correspond à l'expression :
      1. CUST_ID
        SRC_CUSTOMER.CUSTID
      2. DAR
        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. Utilisez d'autres mappages tels quels.
    13. Dans l'onglet Options, sélectionnez Mise à jour incrémentielle dans la liste déroulante Mode.
    14. Réduisez TRG_CUSTOMER.
    15. Cliquez sur Enregistrer le service de flux de données.
  2. Créer un flux de travail :
    1. Sélectionnez le nom de votre projet, sélectionnez Flux de travail, puis Créer un flux de travail.
    2. Pour le nom, entrez Orchestrer le chargement de l'entrepôt de données. Cliquez sur Créer.
    3. Glissez l'icône SQL sur le canevas de conception.
    4. Cliquez deux fois sur l'étape SQL dans l'éditeur pour ouvrir la page des propriétés de l'étape.
    5. Dans l'onglet Général, entrez le nom Nettoyage des données.
    6. Sélectionnez l'onglet Attributs et, pour Connexion, sélectionnez ADW_IAD dans la liste déroulante.
    7. Pour SQL, copiez l'interrogation suivante :
      delete from SRCMIRROR_OCIGGLL.TRG_CUSTOMER where CITY_ID > 110
    8. Réduisez SQL.
    9. Sous Flux de données, faites glisser le service de flux de données TRG_CUSTOMER vers le canevas de conception.
    10. Cliquez sur la ligne de flux de travail SQL Nettoyage des données et faites glisser l'icône OK (flèche verte) vers le service de flux de données TRG_CUSTOMER.
    11. Cliquez sur Enregistrer le flux de travail, puis sur Démarrer le flux de travail.
  3. Créer et gérer des travaux.