Compartir por


Copia de datos desde Amazon RDS para Oracle mediante Azure Data Factory o Azure Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se resume el uso de la actividad de copia de Azure Data Factory para copiar datos desde una base de datos Amazon RDS para Oracle. Se basa en la introducción a la actividad de copia.

Importante

La versión 2.0 del conector de Amazon RDS para Oracle proporciona una mejor compatibilidad nativa de Amazon RDS para Oracle. Si está utilizando Amazon RDS para Oracle Connector versión 1.0 en su solución, actualice el conector de Amazon RDS para Oracle antes del 31 de octubre de 2025. Consulte esta sección para obtener más información sobre la diferencia entre la versión 2.0 y la versión 1.0.

Funcionalidades admitidas

Este conector de Amazon RDS para Oracle es compatible con las funcionalidades siguientes:

Funcionalidades admitidas IR
Actividad de copia (origen/-) 1 2
Actividad de búsqueda 1 2

① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado

Consulte la tabla de almacenes de datos compatibles para ver una lista de almacenes de datos que la actividad de copia admite como orígenes o receptores.

En concreto, este conector de Amazon RDS para Oracle admite:

  • Las siguientes versiones de una base de datos de Amazon RDS para Oracle para la versión 2.0:
    • Amazon RDS para Oracle 19c o posterior
  • Las siguientes versiones de una base de datos de Amazon RDS para Oracle para la versión 1.0:
    • Amazon RDS para Oracle 19c R1 (19.1) y versiones posteriores
    • Amazon RDS para Oracle 18c R1 (18.1) y versiones posteriores
    • Amazon RDS para Oracle 12c R1 (12.1) y versiones posteriores
    • Amazon RDS para Oracle 11g R1 (11.1) y versiones posteriores
  • Copia en paralelo desde un origen de Amazon RDS para Oracle. Consulte la sección Copia en paralelo desde Amazon RDS para Oracle para obtener más detalles.

Nota:

No se admite Amazon RDS para el servidor proxy de Oracle.

Requisitos previos

Si el almacén de datos se encuentra en una red local, una red virtual de Azure o una nube privada virtual de Amazon, debe configurar un entorno de ejecución de integración autohospedado para conectarse a él.

Si el almacén de datos es un servicio de datos en la nube administrado, puede usar Azure Integration Runtime. Si el acceso está restringido a las direcciones IP que están aprobadas en las reglas de firewall, puede agregar direcciones IP de Azure Integration Runtime a la lista de permitidos.

También puede usar la característica del entorno de ejecución de integración de red virtual administrada de Azure Data Factory para acceder a la red local sin instalar ni configurar un entorno de ejecución de integración autohospedado.

Consulte Estrategias de acceso a datos para más información sobre los mecanismos de seguridad de red y las opciones que admite Data Factory.

El entorno de ejecución de integración proporciona un controlador de Amazon RDS para Oracle integrado. Por tanto, no es necesario instalar manualmente un controlador para copiar datos desde Amazon RDS para Oracle.

Introducción

Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:

Creación de un servicio vinculado a Amazon RDS para Oracle mediante la interfaz de usuario

Siga estos pasos para crear un servicio vinculado a Amazon RDS para Oracle en la interfaz de usuario de Azure Portal.

  1. Vaya a la pestaña Administrar del área de trabajo de Azure Data Factory o Synapse y seleccione Servicios vinculados; luego haga clic en Nuevo:

  2. Busque Amazon RDS para Oracle y seleccione el conector de Amazon RDS para Oracle.

    Captura de pantalla del conector de Amazon RDS para Oracle.

  3. Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.

    Captura de pantalla de la configuración del servicio vinculado de Amazon RDS para Oracle.

Detalles de configuración del conector

En las secciones siguientes se proporcionan detalles sobre las propiedades que se usan para definir entidades específicas para el conector de Amazon RDS para Oracle.

Propiedades del servicio vinculado

La versión 2.0 del conector de Amazon RDS para Oracle admite TLS 1.3. Consulte esta sección para actualizar la versión del conector de Amazon RDS for Oracle desde la versión 1.0. Para obtener los detalles de la propiedad, consulte las secciones correspondientes.

Versión 2.0

El servicio vinculado de Amazon RDS para Oracle admite las siguientes propiedades cuando se aplica la versión 2.0:

Propiedad Descripción Obligatorio
tipo La propiedad type debe establecerse en AmazonRdsForOracle.
Versión Versión que especifique. El valor es 2.0.
servidor Ubicación de la base de datos de Amazon RDS para Oracle a la que desea conectarse. Puede hacer referencia a la configuración de propiedades del servidor para especificarla.
Tipo de autenticación Tipo de autenticación para conectarse a la base de datos de Amazon RDS para Oracle. Ahora solo se admite la autenticación básica .
nombre de usuario Nombre de usuario de la base de datos de Amazon RDS para Oracle.
contraseña Contraseña de base de datos de Amazon RDS para Oracle. Marque este campo como SecureString para almacenarlo de forma segura. O bien puede hacer referencia a un secreto almacenado en Azure Key Vault.
connectVia El entorno de ejecución de integración que se usará para conectarse al almacén de datos. Obtenga más información en la sección Requisitos previos. Si no se especifica, se usa el valor predeterminado de Azure Integration Runtime. No

Más propiedades de conexión que puede establecer en el servicio vinculado por su caso:

Propiedad Descripción Obligatorio Valor predeterminado
cliente de cifrado Especifica el comportamiento del cliente de cifrado. Los valores admitidos son accepted, rejected, requestedo required. Tipo: cadena No required
encryptionTypesClient Especifica los algoritmos de cifrado que el cliente puede usar. Los valores admitidos son AES128, AES192, AES256, 3DES112, 3DES168. Tipo: cadena No (AES256)
cryptoChecksumClient Especifica el comportamiento de integridad de datos deseado cuando este cliente se conecta a un servidor. Los valores admitidos son accepted, rejected, requestedo required. Tipo: cadena No required
cryptoChecksumTypesClient Especifica los algoritmos de suma de comprobación criptográfica que el cliente puede usar. Los valores admitidos son SHA1, SHA256, SHA384, SHA512. Tipo: cadena No (SHA512)
initialLobFetchSize Especifica la cantidad que el origen captura inicialmente para las columnas LOB. Tipo: int No 0
fetchSize Especifica el número de bytes que el controlador asigna para capturar los datos en un recorrido de ida y vuelta de base de datos. Tipo: int No 10 MB
statementCacheSize Especifica el número de cursores o instrucciones que se van a almacenar en caché para cada conexión de base de datos. Tipo: int No 0
initializationString Especifica un comando que se emite inmediatamente después de conectarse a la base de datos para administrar la configuración de sesión. Tipo: cadena No nulo
enableBulkLoad Especifica si se debe usar la copia masiva o la inserción por lotes al cargar datos en la base de datos. Tipo: booleano No cierto
supportV1DataTypes Especifica si se deben usar las asignaciones de tipos de datos de la versión 1.0. No establezca esto en verdadero a menos que desee mantener la compatibilidad retroactiva con las asignaciones de tipos de datos de la versión 1.0. Tipo: booleano No, esta propiedad es solo para uso de compatibilidad con versiones anteriores. falso
fetchTswtzAsTimestamp Especifica si el controlador devuelve el valor de columna con el tipo de datos TIMESTAMP WITH TIME ZONE como DateTime o string. Esta configuración se omite si supportV1DataTypes no es true. Tipo: booleano No, esta propiedad es solo para uso de compatibilidad con versiones anteriores. cierto

Ejemplo:

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "version": "2.0",
        "typeProperties": {
            "server": "<server name>", 
            "username": "<user name>", 
            "password": "<password>", 
            "authenticationType": "<authentication type>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Ejemplo: Almacenamiento de la contraseña en Azure Key Vault

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "version": "2.0",
        "typeProperties": {
            "server": "<server name>", 
            "username": "<user name>", 
            "authenticationType": "<authentication type>",
            "password": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                }, 
                "secretName": "<secretName>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

server configuración de propiedades

Para la propiedad server, puede especificarla en uno de los tres formatos siguientes.

Formato Ejemplo
Conectar descriptor (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)))
Nomenclatura de Easy Connect (Plus) salesserver1:1521/sales.us.example.com
Nombre de Oracle Net Services (Alias de TNS), solo para el entorno de ejecución de integración autohospedado ventas

En la lista siguiente se muestran los parámetros admitidos usados en server. Si usa parámetros que no están en la lista siguiente, se produce un error en la conexión.

  • Al usar El entorno de ejecución de integración de Azure:

    ANFITRIÓN
    PUERTO
    PROTOCOLO
    NOMBRE_DEL_SERVICIO
    SID
    INSTANCE_NAME
    SERVIDOR
    CONNECT_TIMEOUT
    RETRY_COUNT
    RETRY_DELAY
    SSL_VERSION
    SSL_SERVER_DN_MATCH
    SSL_SERVER_CERT_DN

  • Al usar el entorno de ejecución de integración autohospedado:

    ANFITRIÓN
    PUERTO
    PROTOCOLO
    HABILITAR
    TIEMPO_DE_EXPIRACIÓN
    CONMUTACIÓN POR ERROR
    EQUILIBRIO_DE_CARGA
    RECV_BUF_SIZE
    SDU
    SEND_BUF_SIZE
    SOURCE_ROUTE
    TIPO_DE_SERVICIO
    COLOCATION_TAG
    CONNECTION_ID_PREFIX
    FAILOVER_MODE
    GLOBAL_NAME
    HS
    INSTANCE_NAME
    LÍMITE DE PISCINA
    POOL_CONNECTION_CLASS
    POOL_NAME
    PUREZA_PISCINA
    RDB_BASE DE DATOS
    SHARDING_KEY
    SHARDING_KEY_ID
    SUPER_SHARDING_KEY
    SERVIDOR
    NOMBRE_DEL_SERVICIO
    SID
    TUNNEL_SERVICE_NAME
    AUTENTICACIÓN_SSL_DEL_CLIENTE
    SSL_CERTIFICATE_ALIAS
    HUELLA_DIGITAL_DEL_CERTIFICADO_SSL
    SSL_VERSION
    SSL_SERVER_DN_MATCH
    SSL_SERVER_CERT_DN
    WALLET_LOCATION
    CONNECT_TIMEOUT
    RETRY_COUNT
    RETRY_DELAY
    TRANSPORT_CONNECT_TIMEOUT
    RECV_TIMEOUT
    COMPRESIÓN
    NIVELES_DE_COMPRESIÓN

Versión 1.0

El servicio vinculado de Amazon RDS para Oracle admite las siguientes propiedades cuando se aplica la versión 1.0:

Propiedad Descripción Obligatorio
tipo La propiedad type debe establecerse en AmazonRdsForOracle.
connectionString Especifica la información necesaria para conectarse a la instancia de Amazon RDS para Oracle Database.
También puede poner una contraseña en Azure Key Vault y extraer la configuración de password de la cadena de conexión. Consulte los siguientes ejemplos y el artículo Almacenamiento de credenciales en Azure Key Vault con información detallada.

Tipo de conexión que se admite: para identificar su base de datos, puede usar el SID de Amazon RDS para Oracle o el nombre de servicio de Amazon RDS para Oracle:
- Si usa el SID: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;
- Si usa el nombre del servicio: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;
En el caso de opciones avanzadas de conexión nativa de Amazon RDS para Oracle, puede optar por agregar una entrada en el archivo TNSNAMES.ORA en el servidor de Amazon RDS para Oracle; por otro lado, en el servicio vinculado de Amazon RDS para Oracle, elija usar el tipo de conexión del nombre de servicio de Amazon RDS para Oracle y configure el nombre de servicio correspondiente.
connectVia El entorno de ejecución de integración que se usará para conectarse al almacén de datos. Obtenga más información en la sección Requisitos previos. Si no se especifica, se usa el valor predeterminado de Azure Integration Runtime. No

Si tiene varias instancias de Amazon RDS para Oracle para el escenario de conmutación por error, puede crear un servicio vinculado de Amazon RDS para Oracle y rellenar el host principal, el puerto, el nombre de usuario, la contraseña, entre otros, y agregar una nueva sección "Propiedades de conexión adicionales" con el nombre de propiedad AlternateServers y el valor (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>); no olvide los corchetes y ponga atención al uso de dos puntos (:) como separadores. Por ejemplo, el siguiente valor de servidores alternativos define dos servidores de bases de datos alternativos para la conmutación por error de conexiones: (HostName=AccountingAmazonRdsForOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany).

Puede establecer más propiedades de conexión en la cadena de conexión, según su caso:

Propiedad Descripción Valores permitidos
ArraySize El número de bytes que el conector puede capturar en un solo recorrido de ida y vuelta de red. Por ejemplo, ArraySize=‭10485760‬.

Los valores mayores aumentan la capacidad de proceso al reducir el número de veces que se capturan los datos en la red. Los valores más pequeños aumentan el tiempo de respuesta, ya que hay menos retraso en la espera para que el servidor transmita datos.
Entero de 1 a 4294967296 (4 GB). El valor predeterminado es 60000. El valor 1 no define el número de bytes, sino que indica que se asigna espacio para exactamente una fila de datos.

Para habilitar el cifrado en la conexión de Amazon RDS para Oracle, tiene dos opciones:

  • Para usar el cifrado Triple-DES (3DES) y el Estándar de cifrado avanzado (AES) , en el lado servidor de Amazon RDS para Oracle, vaya a Oracle Advanced Security (OAS) y configure las opciones de cifrado. Para más información, consulte esta documentación de Oracle. El conector de Amazon RDS para Oracle Application Development Framework (ADF) negocia automáticamente el método de cifrado para usar el que configura en OAS al establecer la conexión con Amazon RDS para Oracle.

  • Para usar TLS:

    1. Obtenga la información del certificado TLS/SSL. Obtenga la información del certificado codificado con reglas de codificación distinguida (DER) de su certificado TLS/SSL y guarde la salida (----- Inicio del certificado … Fin del certificado -----) como archivo de texto.

      openssl x509 -inform DER -in [Full Path to the DER Certificate including the name of the DER Certificate] -text
      

      Ejemplo: extraiga la información del certificado de DERcert.cer; luego, guarde la salida en cert.txt.

      openssl x509 -inform DER -in DERcert.cer -text
      Output:
      -----BEGIN CERTIFICATE-----
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXX
      -----END CERTIFICATE-----
      
    2. Compile keystore o truststore. El siguiente comando crea el archivo truststore con o sin contraseña en formato PKCS-12.

      openssl pkcs12 -in [Path to the file created in the previous step] -out [Path and name of TrustStore] -passout pass:[Keystore PWD] -nokeys -export
      

      Ejemplo: cree un archivo truststore PKCS12 denominado MyTrustStoreFile con una contraseña.

      openssl pkcs12 -in cert.txt -out MyTrustStoreFile -passout pass:ThePWD -nokeys -export  
      
    3. Coloque el archivo truststore en la máquina del entorno de ejecución de integración autohospedado. Por ejemplo, coloque el archivo en C:\MyTrustStoreFile.

    4. En el servicio, configure la cadena de conexión de Amazon RDS para Oracle con EncryptionMethod=1 y el valor correspondiente TrustStore/TrustStorePassword. Por ejemplo, Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>.

Ejemplo:

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "typeProperties": {
            "connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Ejemplo: Almacenamiento de la contraseña en Azure Key Vault

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "typeProperties": {
            "connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propiedades del conjunto de datos

En esta sección se proporciona una lista de las propiedades que admite el conjunto de datos de Amazon RDS for Oracle. Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte Conjuntos de datos.

Para copiar datos desde Amazon RDS para Oracle, establezca la propiedad type del conjunto de datos en AmazonRdsForOracleTable. Se admiten las siguientes propiedades.

Propiedad Descripción Obligatorio
tipo La propiedad type del conjunto de datos debe establecerse en AmazonRdsForOracleTable.
esquema Nombre del esquema. No
tabla Nombre de la tabla o vista. No
tableName Nombre de la tabla o vista con el esquema. Esta propiedad permite la compatibilidad con versiones anteriores. Para la nueva carga de trabajo use schema y table. No

Ejemplo:

{
    "name": "AmazonRdsForOracleDataset",
    "properties":
    {
        "type": "AmazonRdsForOracleTable",
        "schema": [],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        },
        "linkedServiceName": {
            "referenceName": "<Amazon RDS for Oracle linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propiedades de la actividad de copia

En esta sección se proporciona una lista de las propiedades que admite el origen de Amazon RDS para Oracle. Para ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte Canalizaciones.

Amazon RDS para Oracle como origen

Sugerencia

Para cargar datos desde Amazon RDS para Oracle de manera eficaz mediante la creación de particiones de datos, consulte Copia en paralelo desde una Amazon RDS para Oracle.

Para copiar datos desde Amazon RDS para Oracle, establezca el tipo de origen de la actividad de copia en AmazonRdsForOracleSource. En la sección source de la actividad de copia se admiten las siguientes propiedades.

Propiedad Descripción Obligatorio
tipo La propiedad type del origen de la actividad de copia debe establecerse en AmazonRdsForOracleSource.
oracleReaderQuery Use la consulta SQL personalizada para leer los datos. Un ejemplo es "SELECT * FROM MyTable".
Si habilita la carga con particiones, deberá enlazar todos los parámetros de partición integrados correspondientes en la consulta. Por ejemplo, consulte la sección Copia en paralelo desde Amazon RDS para Oracle.
No
convertDecimalToInteger El tipo NUMBER de Amazon RDS para Oracle con escala cero o no especificada se convertirá al entero correspondiente. Los valores permitidos son true y false (predeterminado).
Si usa Amazon RDS para Oracle versión 2.0, esta propiedad solo podrá establecerse cuando supportV1DataTypes sea true.
No
opcionesDePartición Especifica las opciones de creación de particiones de datos que se usan para cargar datos desde Amazon RDS para Oracle.
Los valores permitidos son: None (valor predeterminado), PhysicalPartitionsOfTable y DynamicRange.
Cuando se habilita una opción de partición (es decir, no None), el grado de paralelismo para cargar simultáneamente datos de una base de datos Amazon RDS para Oracle se controla mediante la configuración parallelCopies en la actividad de copia.
No
configuración de particiones Especifique el grupo de configuración para la creación de particiones de datos.
Se aplica si la opción de partición no es None.
No
nombres de particiones Lista de particiones físicas que deben copiarse.
Se aplica si la opción de partición es PhysicalPartitionsOfTable. Si usa una consulta para recuperar datos de origen, enlace ?AdfTabularPartitionName en la cláusula WHERE. Por ejemplo, consulte la sección Copia en paralelo desde Amazon RDS para Oracle.
No
partitionColumnName Especifique el nombre de la columna de origen in integer type que usará la creación de particiones por rangos para la copia en paralelo. Si no se especifica, se detectará automáticamente la clave principal de la tabla y se usará como columna de partición.
Se aplica si la opción de partición es DynamicRange. Si usa una consulta para recuperar datos de origen, enlace ?AdfRangePartitionColumnName en la cláusula WHERE. Por ejemplo, consulte la sección Copia en paralelo desde Amazon RDS para Oracle.
No
partitionUpperBound El valor máximo de la columna de partición para copiar datos.
Se aplica si la opción de partición es DynamicRange. Si usa una consulta para recuperar datos de origen, enlace ?AdfRangePartitionUpbound en la cláusula WHERE. Por ejemplo, consulte la sección Copia en paralelo desde Amazon RDS para Oracle.
No
partitionLowerBound El valor mínimo de la columna de partición para copiar datos.
Se aplica si la opción de partición es DynamicRange. Si usa una consulta para recuperar datos de origen, enlace ?AdfRangePartitionLowbound en la cláusula WHERE. Por ejemplo, consulte la sección Copia en paralelo desde Amazon RDS para Oracle.
No

Ejemplo: copia de datos mediante una consulta básica sin partición

"activities":[
    {
        "name": "CopyFromAmazonRdsForOracle",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Amazon RDS for Oracle input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRdsForOracleSource",
                "convertDecimalToInteger": false,
                "oracleReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Copia en paralelo desde Amazon RDS para Oracle

El conector de Amazon RDS para Oracle proporciona creación de particiones de datos integrada para copiar datos de Amazon RDS para Oracle en paralelo. Puede encontrar las opciones de creación de particiones de datos en la pestaña Origen de la actividad de copia.

Captura de pantalla de las opciones de partición.

Al habilitar la copia con particiones, el servicio ejecuta consultas en paralelo en el origen de Amazon RDS para Oracle para cargar los datos mediante particiones. El grado en paralelo se controla mediante el valor parallelCopies de la actividad de copia. Por ejemplo, si establece parallelCopies en cuatro, el servicio genera y ejecuta al mismo tiempo cuatro consultas de acuerdo con la configuración y la opción de partición que ha especificado, y cada consulta recupera una porción de datos de la base de datos de Amazon RDS para Oracle.

Se sugiere habilitar la copia en paralelo con la creación de particiones de datos, especialmente si se cargan grandes cantidades de datos de la base de datos Amazon RDS para Oracle. Estas son algunas configuraciones sugeridas para diferentes escenarios. Cuando se copian datos en un almacén de datos basado en archivos, se recomienda escribirlos en una carpeta como varios archivos (solo especifique el nombre de la carpeta), en cuyo caso el rendimiento es mejor que escribirlos en un único archivo.

Escenario Configuración sugerida
Carga completa de una tabla grande con particiones físicas. Opción de partición: particiones físicas de la tabla.

Durante la ejecución, el servicio detecta automáticamente las particiones físicas y copia los datos por particiones.
Carga completa de una tabla grande, sin particiones físicas, aunque con una columna de enteros para la creación de particiones de datos. Opciones de partición: partición por rangos dinámica.
Columna de partición: especifique la columna usada para crear la partición de datos. Si no se especifica, se usa la columna de clave principal.
Cargue una gran cantidad de datos mediante una consulta personalizada con particiones físicas. Opción de partición: particiones físicas de la tabla.
Consulta: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause>.
Nombre de la partición: especifique los nombres de las particiones desde las que se copiarán los datos. Si no se especifican, el servicio detecta automáticamente las particiones físicas en la tabla que ha especificado en el conjunto de datos de Amazon RDS para Oracle.

Durante la ejecución, el servicio reemplaza ?AdfTabularPartitionName por el nombre real de la partición y se lo envía a Amazon RDS para Oracle.
Carga de grandes cantidades de datos mediante una consulta personalizada, sin particiones físicas, aunque cuenta con una columna de enteros para la creación de particiones de datos. Opciones de partición: partición por rangos dinámica.
Consulta: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Columna de partición: especifique la columna usada para crear la partición de datos. Puede crear particiones en la columna con un tipo de datos entero.
Límite de partición superior y límite de partición inferior: especifique si quiere filtrar en la columna de partición para recuperar solo los datos entre el intervalo inferior y el superior.

Durante la ejecución, el servicio reemplaza ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound y ?AdfRangePartitionLowbound por el nombre real de la columna y los rangos de valores de cada partición y se los envía a Amazon RDS para Oracle.
Por ejemplo, si establece la columna de partición "ID" con un límite inferior de 1 y un límite superior de 80, con la copia en paralelo establecida en 4, el servicio recupera los datos de 4 particiones. Los identificadores están comprendidos entre [1, 20], [21, 40], [41, 60] y [61, 80], respectivamente.

Sugerencia

Al copiar datos de una tabla sin particiones, puede usar la opción de partición "Dynamic range" (Intervalo dinámico) para crear particiones en una columna de enteros. Si los datos de origen no tienen este tipo de columna, puede aprovechar la función ORA_HASH de la consulta de origen para generar una columna y usarla como columna de partición.

Ejemplo: consulta con partición física

"source": {
    "type": "AmazonRdsForOracleSource",
    "query": "SELECT * FROM <TABLENAME> PARTITION(\"?AdfTabularPartitionName\") WHERE <your_additional_where_clause>",
    "partitionOption": "PhysicalPartitionsOfTable",
    "partitionSettings": {
        "partitionNames": [
            "<partitionA_name>",
            "<partitionB_name>"
        ]
    }
}

Ejemplo: consulta con partición por rangos dinámica

"source": {
    "type": "AmazonRdsForOracleSource",
    "query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column>",
        "partitionLowerBound": "<lower_value_of_partition_column>"
    }
}

Asignación de tipos de datos para Amazon RDS para Oracle

Al copiar datos de y a Amazon RDS para Oracle, se usan las siguientes asignaciones provisionales de tipos de datos dentro del servicio. Para más información acerca de la forma en que la actividad de copia asigna el tipo de datos y el esquema de origen al receptor, consulte el artículo sobre asignaciones de tipos de datos y esquema.

Tipo de datos de Amazon RDS para Oracle Tipo de datos de servicio provisional (para la versión 2.0) Tipo de datos de servicio provisional (para la versión 1.0)
BFILE Byte[] Byte[]
BINARY_FLOAT Soltero Soltero
BINARY_DOUBLE Doble Doble
BLOB Byte[] Byte[]
CARBONIZAR Cuerda Cuerda
CLOB Cuerda Cuerda
FECHA Fecha y hora Fecha y hora
FLOAT (P < 16) Doble Doble
FLOAT (P >= 16) Decimal Doble
INTERVALO AÑO A MES Int64 Cuerda
INTERVALO DÍA A SEGUNDO TimeSpan Cuerda
LARGO Cuerda Cuerda
LONG RAW Byte[] Byte[]
NCHAR Cuerda Cuerda
NCLOB Cuerda Cuerda
NUMBER (p,s) Int16, Int32, Int64, Double, Single, Decimal Decimal, String (si p > 28)
NUMBER sin precisión ni escala Decimal Doble
NVARCHAR2 Cuerda Cuerda
CRUDO Byte[] Byte[]
TIMESTAMP Fecha y hora Fecha y hora
MARCA DE TIEMPO CON ZONA HORARIA LOCAL Fecha y hora Fecha y hora
MARCA DE TIEMPO CON ZONA HORARIA Desplazamiento de Fecha y Hora Fecha y hora
VARCHAR2 Cuerda Cuerda
XMLTYPE Cuerda Cuerda

Nota:

NUMBER(p,s) se asigna al tipo de datos de servicio intermedio adecuado según la precisión (p) y la escala (s).

Propiedades de la actividad de búsqueda

Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.

Actualización del conector de Amazon RDS para Oracle

Estos son los pasos que le ayudarán a actualizar el conector de Amazon RDS para Oracle:

  1. En la página Editar servicio vinculado , seleccione la versión 2.0 y configure el servicio vinculado haciendo referencia a las propiedades del servicio vinculado versión 2.0.

    Para las propiedades relacionadas con la autenticación, incluido el nombre de usuario y la contraseña, especifique los valores originales en los campos correspondientes de la versión 2.0. Otras propiedades de conexión, como host, puerto y Amazon RDS para Oracle Service Name/Amazon RDS para Oracle SID en la versión 1.0, ahora son parámetros de la propiedad en la versión 2.0server.

    Por ejemplo, si configura el servicio vinculado versión 1.0, como se muestra a continuación:

    Captura de pantalla de la versión 1.0 del servicio vinculado.

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "typeProperties": { 
                "connectionString": "host=amazonrdsfororaclesample.com;port=1521;servicename=db1" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    }
    

    La configuración idéntica de servicio vinculado de la versión 2.0 utilizando Easy Connect (Plus) Naming es:

    Recorte de pantalla del servicio vinculado mediante la nomenclatura de Easy Connect (Plus).

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "version": "2.0", 
            "typeProperties": { 
                "server": "amazonrdsfororaclesample.com:1521/db1",  
                "username": "<user name>",  
                "password": "<password>",  
                "authenticationType": "<authentication type>" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    } 
    

    La idéntica configuración del servicio vinculado de la versión 2.0 mediante el descriptor del conector es:

    Captura de pantalla del servicio vinculado mediante el descriptor del conector.

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "version": "2.0", 
            "typeProperties": { 
                "server": "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= amazonrdsfororaclesample.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db1)))",  
                "username": "<user name>",  
                "password": "<password>",  
                "authenticationType": "<authentication type>" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    } 
    

    Sugerencia

    Azure Key Vault es compatible con la server propiedad . Puede editar el JSON del servicio vinculado para agregar la referencia de Azure Key Vault, como se muestra a continuación:
    Captura de pantalla del uso de Azure Key Vault en el servidor.

    Observe lo siguiente:

    • Si usa el nombre del servicio de Oracle en la versión 1.0, puede usar la nomenclatura de Easy Connect (Plus) o el descriptor del conector como formato de servidor en la versión 2.0.

    • Si usa el SID de Oracle en la versión 1.0, debe usar el descriptor del conector como formato de servidor en la versión 2.0.

    • Para algunas propiedades de conexión adicionales de la versión 1.0, proporcionamos propiedades o parámetros alternativos en una propiedad server en la versión 2.0. Puede consultar la tabla siguiente para actualizar las propiedades de la versión 1.0.

      Versión 1.0 Versión 2.0
      método de cifrado PROTOCOL (parámetro en server)
      tnsnamesfile TNS_ADMIN (variable de entorno compatible con el entorno de ejecución de integración autohospedado)
      nombre del servidor servidor
      enablebulkload
      Valor: 1, 0
      enableBulkLoad
      Valor: verdadero, falso
      fetchtswtzastimestamp
      Valor: 1, 0
      fetchTswtzAsTimestamp
      Valor: verdadero, falso
      servidores alternativos DESCRIPTION_LIST (parámetro en server)
      tamaño del array fetchSize
      cachedcursorlimit statementCacheSize
      connectionretrycount RETRY_COUNT (parámetro en server)
      cadena de inicialización initializationString
      logintimeout CONNECT_TIMEOUT (parámetro en server)
      cryptoprotocolversion SSL_VERSION (parámetro en server)
      truststore WALLET_LOCATION (parámetro en server)

      Por ejemplo, si usa alternateservers en la versión 1.0, puede establecer el DESCRIPTION_LIST parámetro en la propiedad del servidor en la versión 2.0:

      Versión 1.0 del servicio vinculado mediante alternateservers:

      {
          "name": "AmazonRdsForOracleV1",
          "properties": {
              "type": "AmazonRdsForOracle",
              "typeProperties": {
                  "connectionString": "host=amazonrdsfororaclesample.com;port=1521;servicename=db1;alternateservers=(HostName= amazonrdsfororaclesample2.com:PortNumber=1521:SID=db2,HostName=255.201.11.24:PortNumber=1522:ServiceName=db3)"
              }
          }
      }
      

      Versión 2.0 idéntica de servicio vinculado utilizando el parámetro DESCRIPTION_LIST en Descriptor del Conector:

      {
          "name": "AmazonRdsForOracleV2",
          "properties": {
              "type": "AmazonRdsForOracle",
              "version": "2.0",
              "typeProperties": {
                  "server": "(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=amazonrdsfororaclesample.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db1)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=amazonrdsfororaclesample2.com)(PORT=1521))(CONNECT_DATA=(SID=db2)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=255.201.11.24)(PORT=1522))(CONNECT_DATA=(SERVICE_NAME=db3))))",
                  "username": "<user name>",  
                  "password": "<password>",  
                  "authenticationType": "<authentication type>" 
              }
          }
      }
      
  2. La asignación de tipos de datos para el servicio vinculado Oracle de Amazon RDS en la versión 2.0 es diferente de la de la versión 1.0. Para obtener información sobre la asignación de tipos de datos más reciente, consulte Asignación de tipos de datos para Amazon RDS para Oracle.

    Una propiedad supportV1DataTypes de conexión adicional de la versión 2.0 puede reducir las dificultades de actualización causadas por cambios de tipo de datos. Establecer esta propiedad en true garantiza que el tipo de datos de la versión 2.0 sigue siendo coherente con la versión 1.0.

Diferencias entre Amazon RDS para Oracle versión 2.0 y la versión 1.0

La versión 2.0 del conector de Amazon RDS para Oracle ofrece nuevas funcionalidades y es compatible con la mayoría de las características de la versión 1.0. En la tabla siguiente se muestran las diferencias de características entre la versión 2.0 y la versión 1.0.

Versión 2.0 Versión 1.0
Las siguientes asignaciones se utilizan desde tipos de datos de Amazon RDS para Oracle a tipos de datos de servicio provisionales utilizados por el servicio internamente.

NUMBER(p,s):> Int16, Int32, Int64, Double, Simple, Decimal
FLOAT(p)-> Double o Decimal basado en su precisión
NUMBER:> Decimal
MARCA DE TIEMPO CON ZONA HORARIA:> DateTimeOffset
INTERVAL AÑO A MES -> Int64
INTERVALO DÍA A SEGUNDO:> TimeSpan
Las siguientes asignaciones se utilizan desde tipos de datos de Amazon RDS para Oracle a tipos de datos de servicio provisionales utilizados por el servicio internamente.

NUMBER(p,s):> decimal o cadena en función de su precisión
FLOAT(p)-> Double
NUMBER -> Double
MARCA DE TIEMPO CON ZONA HORARIA - > Fecha y hora
INTERVAL YEAR TO MONTH -> String
INTERVAL DAY TO SECOND -> String
Admite convertDecimalToInteger en el origen de copia cuando supportV1DataTypes se establece en true. Admite convertDecimalToInteger en el origen de copia. 
Compatibilidad con TLS 1.3. No se admite TLS 1.3.

Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.