Transformaciones de datos de OCI GoldenGate

Descubra cómo usar los despliegues de replicación de datos y de transformación de datos de OCI GoldenGate de forma conjunta para cargar y transformar datos entre dos bases de datos de IA autónomas.

Antes de empezar

Para completar correctamente este inicio rápido necesita:

Tarea 1: Configuración del entorno

  1. Creación de un despliegue de replicación de datos.

  2. Cree una conexión de OracleAutonomous AI Transaction Processing (ATP) de origen.

  3. Cree una conexión de lakehouse de IA (ALK) de destino.

  4. Asignar una conexión al despliegue.

  5. Utilice la herramienta SQL para activar el registro complementario:

    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
  6. Ejecute la siguiente consulta en la herramienta SQL para asegurarse de que support_mode=FULL para todas las tablas de la base datos de origen:

    select * from DBA_GOLDENGATE_SUPPORT_MODE where owner = 'SRC_OCIGGLL';

Tarea 2: Creación del Extract integrado

Un Extract integrado captura los cambios en curso en la base de datos de origen.

  1. En la página Detalles del despliegue, seleccione Iniciar consola.

  2. Si es necesario, introduzca oggadmin para el nombre de usuario y la contraseña que ha utilizado al crear el despliegue y, a continuación, seleccione Conectar.

  3. Agregar datos de transacción y una tabla de puntos de control:

    1. Abra el menú, seleccione Conexiones de base de datos y, a continuación, seleccione el menú.

    2. Seleccione Conectar a base de datos SourceDB.

    3. En el menú de navegación, seleccione Trandata (Datos de transacción) y, a continuación, Add Trandata (icono más).

    4. En Nombre de esquema, introduzca SRC_OCIGGLL y, a continuación, seleccione Enviar.

    5. Para verificarlo, introduzca SRC_OCIGGLL en el campo Buscar y seleccione Buscar.

    6. Abra el menú, seleccione Conexiones de base de datos y, a continuación, seleccione el menú.

    7. Seleccione Conectar a base de datos TargetDB.

    8. En el menú de navegación, seleccione Checkpoint (Punto de control) y, a continuación, Add Checkpoint (Agregar punto de control) (icono más).

    9. En Tabla de puntos de control, introduzca "SRCMIRROR_OCIGGLL"."CHECKTABLE" y, a continuación, seleccione Enviar.

  4. Agregue un Extract.

    Nota: Consulte opciones adicionales de parámetros de extracción para obtener más información sobre los parámetros que puede utilizar para especificar tablas de origen.

    En la página Parámetros de extracción, agregue las siguientes líneas en 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. Compruebe si hay transacciones de larga duración. Ejecute el siguiente script en la base de datos de origen:

    select start_scn, start_time from gv$transaction where start_scn < (select max(start_scn) from dba_capture);

    Si la consulta devuelve alguna fila, debe buscar el SCN de la transacción y, a continuación, confirmar o realizar un rollback de la transacción.

Tarea 3: Exportación de datos mediante Oracle Data Pump (ExpDP)

Utilice Oracle Data Pump (ExpDP) para exportar datos de la base de datos de origen a Oracle Object Store.

  1. Cree un bucket de Oracle Object Store.

    Tome nota del espacio de nombres y del nombre del bucket para utilizarlos con los scripts de exportación e importación.

  2. Cree un token de autenticación y, a continuación, copie y pegue la cadena de token en un editor de texto para su uso posterior.

  3. Cree una credencial en la base de datos de origen, sustituyendo <user-name> y <token> por su nombre de usuario de cuenta de Oracle Cloud y la cadena de token que ha creado en el paso anterior:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'ADB_OBJECTSTORE',
        username => '<user-name>',
        password => '<token>'
      );
    END;
  4. Ejecute el siguiente script en la base de datos de origen para crear el trabajo Exportar datos. Asegúrese de sustituir <region>, <namespace> y <bucket-name> en el URI de Object Store según corresponda. SRC_OCIGGLL.dmp es un archivo que se creará cuando se ejecute este 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;

Tarea 4: Instanciación de la base de datos de destino mediante Oracle Data Pump (ImpDP)

Utilice Oracle Data Pump (ImpDP) para importar datos a la base de datos de destino desde SRC_OCIGGLL.dmp que se ha exportado de la base de datos de origen.

  1. Cree una credencial en la base de datos de destino para acceder a Oracle Object Store (utilizando la misma información de la sección anterior).

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'ADB_OBJECTSTORE',
        username => '<user-name>',
        password => '<token>'
      );
    END;
  2. Ejecute el siguiente script en la base de datos de destino para importar datos desde SRC_OCIGGLL.dmp. Asegúrese de sustituir <region>, <namespace> y <bucket-name> en el URI de Object Store según corresponda:

    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;

Tarea 5: Adición y ejecución de un Replicat sin integrar

  1. Agregue y ejecute un Replicat.

    En la pantalla Archivo de parámetros, sustituya MAP *.*, TARGET *.*; por el siguiente script:

    -- 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.*;

    Nota: DBOPTIONS ENABLE_INSTANTIATION_FILTERING activa el filtrado de CSN en las tablas importadas mediante Oracle Data Pump. Para obtener más información, consulte la referencia de DBOPTIONS.

  2. Realice inserciones en la base de datos origen:

    1. Vuelva a la consola de Oracle Cloud y utilice el menú de navegación para volver a Oracle AI Database, Autonomous AI Transaction Processing y, a continuación, SourceDB.

    2. En la página Detalles de SourceDB, seleccione Acciones de base de datos y, a continuación, SQL.

    3. Introduzca las siguientes inserciones y, a continuación, seleccione Ejecutar 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. En la consola de despliegue de OCI GoldenGate, seleccione el nombre de extracción (UAEXT) y, a continuación, seleccione Estadísticas. Verifique que SRC_OCIGGLL.SRC_CITY se muestra con 10 inserciones.

    5. Vuelva a la pantalla Visión general, seleccione el nombre de Replicat (REP) y, a continuación, seleccione Estadísticas. Verifique que SRCMIRROR_OCIGLL.SRC_CITY se muestra con 10 inserciones

Tarea 6: Creación de los recursos de Data Transforms

  1. Creación de un despliegue de Data Transforms.

  2. Crear una conexión genérica.

    Nota: Por ejemplo, para las bases de datos de IA autónomas en el este de EE. UU. (Ashburn) utilice los siguientes valores:

    • En Host, introduzca adb.us-ashburn-1.oraclecloud.com:1522.

    • En Subred, seleccione la misma subred que el despliegue en la lista desplegable.

  3. Asigne la conexión genérica al despliegue.

  4. Cree TRG_CUSTOMER en SRCMIRROR_OCIGGLL en su instancia de Autonomous AI Lakehouse (ADW):

    1. En la consola de Oracle Cloud, abra el menú de navegación, vaya a Oracle AI Database y, a continuación, seleccione Autonomous AI Lakehouse.

    2. En la página Bases de datos autónomas, seleccione en la instancia de ADW.

    3. En la página de detalles de la base de datos de IA autónoma de ADW, seleccione Acciones de base de datos y, a continuación, seleccione SQL en la lista desplegable. Si el menú Database actions (Acciones de base de datos) tarda demasiado en cargarse, puede seleccionar Database actions (Acciones de base de datos) directamente y, a continuación, seleccionar SQL en la página Database actions (Acciones de base de datos).

    4. Introduzca lo siguiente en la Hoja de Trabajo y, a continuación, seleccione Ejecutar Sentencia.

      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. Inicie la consola de despliegue Data Transforms:

    1. Vuelva a la página Despliegues y, a continuación, seleccione el despliegue que ha creado en la tarea 6.

    2. En la página Detalles de despliegue, seleccione Iniciar consola.

    3. Conéctese a la consola de despliegue de Data Transforms.

  6. Crear conexión de ADW:

    1. Abra el menú de navegación, seleccione Conexiones y, a continuación, seleccione Crear conexión.

    2. En la página Select Type, en Databases, seleccione Oracle y, a continuación, seleccione Next.

    3. En la página Detalles de conexión, complete los campos del formulario de la siguiente manera y, a continuación, seleccione Crear:

      1. En Nombre, introduzca ADW_IAD.

      2. Seleccione Use Credential File (Usar archivo de credenciales).

      3. Para el archivo de cartera, cargue el archivo de cartera (ADW).

        Nota: Para descargar el archivo de cartera de ADW, seleccione Conexión a base de datos en la página de detalles de ADW.

      4. En la lista desplegable Services, seleccione <name>_low.

      5. Para User (Usuario), introduzca ADMIN.

      6. Para Contraseña, introduzca su contraseña de ADW.

  7. Importar entidad de datos:

    1. Abra el menú de navegación, seleccione Entidades de datos y, a continuación, seleccione Importar entidad de datos.

    2. Para la conexión, seleccione ADW_IAD en la lista desplegable.

    3. Para Esquema, seleccione SRCMIRROR_OCIGGLL en la lista desplegable.

    4. Seleccione Start (Iniciar).

  8. Crear proyecto:

    1. Abra el menú de navegación y seleccione Projects (Proyectos).

    2. En la página Proyectos, seleccione Crear Proyecto.

    3. En el cuadro de diálogo Crear proyecto, en Nombre, introduzca demo-pipeline y, a continuación, seleccione Crear.

Tarea 7: Crear y ejecutar un flujo de trabajo

  1. Crear Flujo de Datos:

    Nota: Obtenga más información sobre el editor de Data Flow.

    1. Seleccione el nombre del proyecto.

    2. En la página Detalles de proyecto, en Recursos, seleccione Flujos de datos y, a continuación, seleccione Crear flujo de datos.

    3. En el cuadro de diálogo Crear flujo de datos, para Nombre, introduzca Cargar TRG_CUSTOMER y, opcionalmente, una descripción. Seleccione Crear. Se abre el lienzo de diseño.

    4. En el cuadro de diálogo Agregar esquema, complete los campos del formulario de la siguiente manera y, a continuación, seleccione Aceptar:

      1. Para la conexión, seleccione ADW_IAD en la lista desplegable.

      2. Para Esquema, seleccione SRCMIRROR_OCIGGLL en la lista desplegable.

    5. Arrastre las siguientes entidades de datos y componentes al lienzo de diseño:

      1. En el panel Entidades de datos, amplíe el esquema SRCMIRROR_OCIGGLL. Arrastre la entidad de datos SRC_AGE_GROUP al lienzo de diseño.

      2. En el panel Entidades de datos, amplíe el esquema SRCMIRROR_OCIGGLL. Arrastre la entidad de datos SRC_SALES_PERSON al lienzo de diseño.

      3. En la barra de herramientas de transformación de datos, arrastre el componente Consulta al lienzo de diseño.

      4. En la barra de herramientas Transformación de datos, arrastre el componente Unir al lienzo de diseño.

      5. En el panel Entidades de datos, en SRCMIRROR_OCIGGLL, arrastre la entidad de datos SRC_CUSTOMER al lienzo de diseño.

    6. Conecte las siguientes entidades de datos al componente Consulta:

      1. Seleccione el icono del conector SRC_AGE_GROUP y arrastre el icono al componente Consulta.

      2. Seleccione el icono del conector SRC_CUSTOMER y arrastre el icono al componente Consulta.

    7. En el lienzo de diseño, seleccione Consulta para abrir el panel Búsqueda. En el panel de búsqueda, cambie al separador Atributos y, a continuación, pegue la siguiente consulta en Condición de búsqueda:

      SRC_CUSTOMER.AGE between SRC_AGE_GROUP.AGE_MIN and SRC_AGE_GROUP.AGE_MAX
    8. Conecte los siguientes componentes al componente Unir:

      1. Seleccione el icono del conector SRC_SALES_PERSON y arrastre el icono al componente Unirse.

      2. Seleccione en el icono Consultar conector y arrastre el icono al componente Unir.

    9. En el lienzo de diseño, seleccione Unir para abrir el panel Unir. En el panel Unir, cambie al separador Atributos y, a continuación, pegue la siguiente consulta en Condición de unión:

      SRC_CUSTOMER.SALES_PERS_ID=SRC_SALES_PERSON.SALES_PERS_ID
    10. Arrastre la siguiente entidad de datos y componente al lienzo de diseño:

      1. En el panel Entidades de datos, en SRCMIRROR_OCIGGLL, arrastre la entidad de datos TRG_CUSTOMER al lienzo de diseño.

      2. Seleccione en el icono Unirse al conector y arrastre el icono a la entidad de datos TRG_CUSTOMER.

      3. En el lienzo de diseño, seleccione TRG_CUSTOMER y amplíe la entidad de datos.

    11. En el separador Atributos, active la clave para CUST_ID, desactive Actualizar para CRE_DATE y desactive Insertar para UPD_DATE.

    12. En el separador Asignación de columnas, asegúrese de que el nombre coincida con la expresión:

      1. ID DE CLIENTE

        SRC_CUSTOMER.CUSTID
      2. DEAR

        CASE WHEN SRC_CUSTOMER.DEAR = 0 THEN 'Mr' WHEN SRC_CUSTOMER.DEAR = 1 THEN 'Mrs' ELSE 'Ms' END
      3. NOMBRE DE CLIENTE

        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_FECHA

        SYSDATE
      6. ACTUALIZACIÓN_FECHA

        SYSDATE
      7. Utilice otras asignaciones tal cual.

    13. En el separador Opciones, en Modo, seleccione Actualización incremental en la lista desplegable.

    14. Contraiga TRG_CUSTOMER.

    15. Seleccione Guardar Flujo de Datos.

  2. Crear Flujo de Trabajo:

    1. Seleccione el nombre del proyecto, seleccione Flujos de trabajo y, a continuación, seleccione Crear flujo de trabajo.

    2. Para obtener el nombre, introduzca Orchestrate Data Warehouse Load. Seleccione Crear.

    3. Arrastre el icono SQL en el lienzo de diseño.

    4. Seleccione dos veces el paso SQL en el editor para abrir la página de propiedades del paso.

    5. En el separador General, por nombre, introduzca Limpieza de datos.

    6. Seleccione el separador Atributos. Para Conexión, seleccione ADW_IAD en la lista desplegable.

    7. Para SQL, copie la siguiente consulta:

      delete from SRCMIRROR_OCIGGLL.TRG_CUSTOMER where CITY_ID > 110
    8. Contraiga SQL.

    9. En Flujos de datos, arrastre el flujo de datos TRG_CUSTOMER al lienzo de diseño.

    10. Seleccione en la línea de flujo de trabajo SQL de limpieza de datos y arrastre el icono ok (flecha verde) al flujo de datos TRG_CUSTOMER.

    11. Seleccione Guardar flujo de trabajo y, a continuación, seleccione Iniciar flujo de trabajo.

  3. Crear y gestionar trabajos.