Partilhar via


Copiar dados do Amazon RDS for Oracle usando o Azure Data Factory ou o Azure Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Este artigo descreve como usar a atividade de cópia no Azure Data Factory para copiar dados de um banco de dados do Amazon RDS for Oracle. Ele se baseia na visão geral da atividade de cópia.

Importante

A versão 2.0 do conector Amazon RDS para Oracle oferece um suporte nativo aprimorado ao Amazon RDS para Oracle. Se você estiver usando o conector do Amazon RDS for Oracle versão 1.0 em sua solução, atualize o conector do Amazon RDS para Oracle , pois a versão 1.0 está no estágio de fim do suporte. O seu pipeline falhará após 31 de março de 2026. Consulte esta seção para obter detalhes sobre a diferença entre a versão 2.0 e a versão 1.0.

Capacidades suportadas

Esse conector do Amazon RDS for Oracle é compatível com os seguintes recursos:

Capacidades suportadas IR
Atividade de cópia (fonte/-) (1) (2)
Atividade de Pesquisa (1) (2)

(1) Tempo de execução de integração do Azure (2) Tempo de execução de integração auto-hospedado

Para obter uma lista de armazenamentos de dados suportados como fontes ou coletores pela atividade de cópia, consulte a tabela Armazenamentos de dados suportados.

Especificamente, esse conector do Amazon RDS for Oracle é compatível:

  • As seguintes versões de um banco de dados do Amazon RDS for Oracle para versão 2.0:
    • Amazon RDS para Oracle 19c e superior
    • Amazon RDS para Oracle 18c e superior
    • Amazon RDS para Oracle 12c e superior
    • Amazon RDS para Oracle 11g e superior
  • As seguintes versões de um banco de dados do Amazon RDS for Oracle para a versão 1.0:
    • Amazon RDS for Oracle 19c R1 (19.1) e superior
    • Amazon RDS for Oracle 18c R1 (18.1) e superior
    • Amazon RDS for Oracle 12c R1 (12.1) e superior
    • Amazon RDS for Oracle 11g R1 (11.1) e superior
  • Cópia paralela de uma fonte do Amazon RDS for Oracle. Consulte a seção Cópia paralela do Amazon RDS para Oracle para obter detalhes.

Nota

O servidor proxy do Amazon RDS for Oracle não é compatível.

Pré-requisitos

Se seu armazenamento de dados estiver localizado dentro de uma rede local, uma rede virtual do Azure ou a Amazon Virtual Private Cloud, você precisará configurar um tempo de execução de integração auto-hospedado para se conectar a ele.

Se o seu armazenamento de dados for um serviço de dados de nuvem gerenciado, você poderá usar o Tempo de Execução de Integração do Azure. Se o acesso for restrito a IPs aprovados nas regras de firewall, você poderá adicionar IPs do Azure Integration Runtime à lista de permissões.

Você também pode usar o recurso de tempo de execução de integração de rede virtual gerenciada no Azure Data Factory para acessar a rede local sem instalar e configurar um tempo de execução de integração auto-hospedado.

Para obter mais informações sobre os mecanismos de segurança de rede e as opções suportadas pelo Data Factory, consulte Estratégias de acesso a dados.

O tempo de execução da integração fornece um driver integrado do Amazon RDS for Oracle. Portanto, não é necessário instalar manualmente um driver ao copiar dados do Amazon RDS for Oracle.

Introdução

Para executar a atividade de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:

Criar um serviço vinculado ao Amazon RDS for Oracle usando a interface do usuário

Use as etapas a seguir para criar um serviço vinculado ao Amazon RDS for Oracle na interface do usuário do portal do Azure.

  1. Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou Synapse e selecione Serviços Vinculados e clique em Novo:

  2. Pesquise por Amazon RDS for Oracle e selecione o conector do Amazon RDS for Oracle.

    Captura de tela do conector do Amazon RDS for Oracle.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Captura de tela da configuração do serviço vinculado para o Amazon RDS for Oracle.

Detalhes de configuração do conector

As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades específicas para o conector do Amazon RDS for Oracle.

Propriedades do serviço vinculado

O conector do Amazon RDS for Oracle versão 2.0 é compatível com TLS 1.3. Consulte esta seção para atualizar sua versão do conector do Amazon RDS for Oracle a partir da versão 1.0. Para obter os detalhes da propriedade, consulte as seções correspondentes.

Versão 2.0

O serviço vinculado do Amazon RDS for Oracle oferece suporte às seguintes propriedades ao aplicar a versão 2.0:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como AmazonRdsForOracle. Sim
versão A versão que especificares. O valor é 2.0. Sim
servidor O local do banco de dados do Amazon RDS for Oracle ao qual você deseja se conectar. Você pode consultar a configuração da propriedade do servidor para especificá-la. Sim
tipo de autenticação Tipo de autenticação para conexão com o banco de dados do Amazon RDS for Oracle. Apenas a autenticação básica é suportada agora. Sim
nome de utilizador O nome de usuário do banco de dados do Amazon RDS for Oracle. Sim
palavra-passe A senha do banco de dados do Amazon RDS for Oracle. Marque este campo como SecureString para armazená-lo com segurança. Ou, você pode fazer referência a um segredo armazenado no Cofre da Chave do Azure. Sim
ConecteVia O tempo de execução de integração a ser usado para se conectar ao armazenamento de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, o Tempo de Execução de Integração do Azure padrão será usado. Não

Mais propriedades de conexão que você pode definir no serviço vinculado de acordo com seu caso:

Propriedade Descrição Obrigatório Valor predefinido
cliente de encriptação Especifica o comportamento do cliente de criptografia. Os valores suportados são accepted, rejected, requested, ou required. Tipo: string Não required
cliente de tipos de encriptação Especifica os algoritmos de criptografia que o cliente pode usar. Os valores suportados são AES128, AES192, AES256, 3DES112, 3DES168. Tipo: string Não (AES256)
cryptoChecksumClient Especifica o comportamento de integridade de dados desejado quando esse cliente se conecta a um servidor. Os valores suportados são accepted, rejected, requested, ou required. Tipo: string Não required
cryptoChecksumTypesClient Especifica os algoritmos de soma de verificação de criptografia que o cliente pode usar. Os valores suportados são SHA1, SHA256, SHA384, SHA512. Tipo: string Não (SHA512)
initialLobFetchSize Especifica a quantidade que a fonte busca inicialmente para colunas LOB. Tipo: int Não 0
fetchSize Especifica o número de bytes que o driver aloca para buscar os dados em um banco de dados de ida e volta. Tipo: int Não 10 MB
tamanhoDaCacheDeDeclaração Especifica o número de cursores ou instruções a serem armazenados em cache para cada conexão de banco de dados. Tipo: int Não 0
initializationString Especifica um comando que é emitido imediatamente após a conexão com o banco de dados para gerenciar as configurações da sessão. Tipo: string Não null
ativarCarregamentoEmMassa Especifica se a cópia em massa ou a inserção em lote devem ser usadas ao carregar dados no banco de dados. Tipo: booleano Não verdadeiro
supportV1DataTypes Especifica se os mapeamentos de tipo de dados da versão 1.0 devem ser usados. Não definas isto como verdadeiro, a menos que queiras manter a compatibilidade retroativa com os mapeamentos de tipo de dados da versão 1.0. Tipo: booleano Não, esta propriedade é apenas para uso de compatibilidade com versões anteriores falso
fetchTswtzAsTimestamp (obter Tswtz como timestamp) Especifica se o driver retorna o valor da coluna com o tipo de dados TIMESTAMP WITH TIME ZONE como DateTime ou string. Essa configuração será ignorada se supportV1DataTypes não for verdadeiro. Tipo: booleano Não, esta propriedade é apenas para uso de compatibilidade com versões anteriores verdadeiro

Exemplo:

{
    "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"
        }
    }
}

Exemplo: armazenar senha no Cofre da Chave do Azure

{
    "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 configuração da propriedade

Para a propriedade server, pode especificá-la num dos três formatos seguintes:

Formato Exemplo
Descritor de conexão (DESCRIÇÃO=(ENDEREÇO=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)))
Nomenclatura Easy Connect (Plus) salesserver1:1521/sales.us.example.com
Nome do Oracle Net Services (alias TNS) (somente para o runtime de integração autoalojado) Vendas

A lista a seguir mostra os parâmetros suportados usados no server. Se você usar parâmetros que não estão na lista a seguir, sua conexão falhará.

  • Ao usar o tempo de execução de integração do Azure:

    ANFITRIÃO
    PORTO
    PROTOCOLO
    NOME_DO_SERVIÇO
    SID
    NOME_INSTÂNCIA
    SERVIDOR
    TEMPO_DE_CONEXÃO_ESGOTADO
    RETRY_COUNT
    ATRASO_DE_NOVA_TENTATIVA
    VERSÃO_SSL
    SSL_SERVER_DN_MATCH
    SSL_SERVER_CERT_DN

  • Ao utilizar o ambiente de execução de integração autoalojado:

    ANFITRIÃO
    PORTO
    PROTOCOLO
    ATIVAR
    TEMPO_DE_EXPIRAÇÃO
    ATIVAÇÃO PÓS-FALHA
    Equilíbrio de carga
    RECV_BUF_SIZE
    SDU
    SEND_BUF_SIZE
    ROTA_FONTE
    TIPO_DE_SERVIÇO
    COLOCATION_TAG
    CONNECTION_ID_PREFIX
    MODO_DE_REDUNDÂNCIA
    GLOBAL_NAME
    SH
    NOME_INSTÂNCIA
    LIMITE DA PISCINA
    CLASSE_DE_CONEXÃO_DE_PISCINA
    NOME_DA_PISCINA
    PUREZA_DA_PISCINA
    RDB_DATABASE
    CHAVE_DE_FRAGMENTAÇÃO
    SHARDING_KEY_ID
    SUPER_SHARDING_KEY
    SERVIDOR
    NOME_DO_SERVIÇO
    SID
    TUNNEL_SERVICE_NAME
    AUTENTICAÇÃO_SSL_DO_CLIENTE
    Alias_Certificado_SSL
    IMPRESSÃO_DIGITAL_DO_CERTIFICADO_SSL
    VERSÃO_SSL
    SSL_SERVER_DN_MATCH
    SSL_SERVER_CERT_DN
    LOCALIZAÇÃO_CARTEIRA
    TEMPO_DE_CONEXÃO_ESGOTADO
    RETRY_COUNT
    ATRASO_DE_NOVA_TENTATIVA
    TRANSPORTE_CONECTAR_TEMPO_ESGOTADO
    RECV_TIMEOUT
    COMPRESSÃO
    NÍVEIS_DE_COMPRESSÃO

Versão 1.0

O serviço vinculado do Amazon RDS for Oracle oferece suporte às seguintes propriedades ao aplicar a versão 1.0:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como AmazonRdsForOracle. Sim
string de conexão Especifica as informações necessárias para se conectar à instância do Amazon RDS for Oracle Database.
Você também pode colocar uma senha no Cofre de Chaves do Azure e extrair a password configuração da cadeia de conexão. Consulte os seguintes exemplos e Armazenar credenciais no Cofre da Chave do Azure com mais detalhes.

Tipo de conexão compatível: você pode usar o Amazon RDS for Oracle SID ou o Amazon RDS for Oracle Service Name para identificar seu banco de dados:
- Se você usar SID: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;
- Se você usar o Nome do Serviço: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;
Para opções avançadas de conexão nativa do Amazon RDS for Oracle, você pode optar por adicionar uma entrada no TNSNAMES. ORA no servidor Amazon RDS for Oracle e no serviço vinculado Amazon RDS for Oracle, escolha usar o tipo de conexão Amazon RDS for Oracle Service Name e configure o nome do serviço correspondente.
Sim
ConecteVia O tempo de execução de integração a ser usado para se conectar ao armazenamento de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, o Tempo de Execução de Integração do Azure padrão será usado. Não

Se você tiver várias instâncias do Amazon RDS for Oracle para cenário de failover, poderá criar o serviço vinculado do Amazon RDS for Oracle e preencher o host primário, a porta, o nome de usuário, a senha, etc., e adicionar uma nova "Propriedades de conexão adicionais" com o nome da propriedade como AlternateServers e o valor como (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>) - não perca os colchetes e preste atenção aos dois pontos (:) como separador. Como exemplo, o seguinte valor de servidores alternativos define dois servidores de banco de dados alternativos para failover de conexão: (HostName=AccountingAmazonRdsForOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany).

Mais propriedades de conexão que você pode definir na cadeia de conexão por seu caso:

Propriedade Descrição Valores permitidos
Tamanho do Array O número de bytes que o conector pode buscar em uma única viagem de ida e volta de rede. Por exemplo, ArraySize=‭10485760‬.

Valores maiores aumentam a taxa de transferência, reduzindo o número de vezes para buscar dados na rede. Valores menores aumentam o tempo de resposta, pois há menos atraso esperando que o servidor transmita dados.
Um inteiro de 1 a 4294967296 (4 GB). O valor predefinido é 60000. O valor 1 não define o número de bytes, mas indica a alocação de espaço para exatamente uma linha de dados.

Para habilitar a criptografia na conexão do Amazon RDS for Oracle, você tem duas opções:

  • Para usar o Triple-DES Encryption (3DES) e o Advanced Encryption Standard (AES), no lado do servidor do Amazon RDS for Oracle, vá para Oracle Advanced Security (OAS) e defina as configurações de criptografia. Para obter detalhes, consulte esta documentação da Oracle. O conector do Amazon RDS for Oracle Application Development Framework (ADF) negocia automaticamente o método de criptografia para usar aquele que você configura no OAS ao estabelecer uma conexão com o Amazon RDS for Oracle.

  • Para usar TLS:

    1. Obtenha as informações do certificado TLS/SSL. Obtenha as informações de certificado codificadas em DER (Distinguished Encoding Rules) do seu certificado TLS/SSL e salve a saída (----- Begin Certificate ... End Certificate -----) como um arquivo de texto.

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

      Exemplo: extraia informações de certificado do DERcert.cer e salve a saída em cert.txt.

      openssl x509 -inform DER -in DERcert.cer -text
      Output:
      -----BEGIN CERTIFICATE-----
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXX
      -----END CERTIFICATE-----
      
    2. Construa o keystore ou truststore. O comando a seguir cria o truststore arquivo, com ou sem senha, no 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
      

      Exemplo: Crie um arquivo PKCS12 truststore , chamado MyTrustStoreFile, com uma senha.

      openssl pkcs12 -in cert.txt -out MyTrustStoreFile -passout pass:ThePWD -nokeys -export  
      
    3. Coloque o truststore arquivo na máquina de IR auto-hospedada. Por exemplo, coloque o arquivo em C:\MyTrustStoreFile.

    4. No serviço, configure a cadeia de conexão do Amazon RDS para Oracle com EncryptionMethod=1 e o valor correspondenteTrustStore/TrustStorePassword. Por exemplo, Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>.

Exemplo:

{
    "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"
        }
    }
}

Exemplo: armazenar senha no Cofre da Chave do Azure

{
    "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"
        }
    }
}

Propriedades do conjunto de dados

Esta seção fornece uma lista de propriedades compatíveis com o conjunto de dados do Amazon RDS for Oracle. Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte Conjuntos de dados.

Para copiar dados do Amazon RDS for Oracle, defina a propriedade type do conjunto de dados como AmazonRdsForOracleTable. As seguintes propriedades são suportadas.

Propriedade Descrição Obrigatório
tipo A propriedade type do conjunto de dados deve ser definida como AmazonRdsForOracleTable. Sim
esquema Nome do esquema. Não
tabela Nome da tabela/vista. Não
nome da tabela Nome da tabela/vista com esquema. Esta propriedade é suportada para compatibilidade com versões anteriores. Para nova carga de trabalho, use schema e table. Não

Exemplo:

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

Propriedades da atividade Copy

Esta seção fornece uma lista de propriedades compatíveis com a origem do Amazon RDS for Oracle. Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte Pipelines.

Amazon RDS for Oracle como origem

Gorjeta

Para carregar dados do Amazon RDS for Oracle de forma eficiente usando o particionamento de dados, saiba mais em Cópia paralela do Amazon RDS for Oracle.

Para copiar dados do Amazon RDS for Oracle, defina o tipo de origem na atividade de cópia como AmazonRdsForOracleSource. As propriedades a seguir são suportadas na seção copiar fonte de atividade.

Propriedade Descrição Obrigatório
tipo A propriedade type da fonte de atividade de cópia deve ser definida como AmazonRdsForOracleSource. Sim
oracleReaderQuery Use a consulta SQL personalizada para ler dados. Um exemplo é "SELECT * FROM MyTable". Observe que a consulta não deve terminar com um ponto-e-vírgula (;).
Ao habilitar a carga particionada, você precisa conectar quaisquer parâmetros de partição internos correspondentes em sua consulta. Para obter exemplos, consulte a seção Cópia paralela do Amazon RDS para Oracle .
Não
converterDecimalParaInteiro O tipo NUMBER do Amazon RDS for Oracle com escala zero ou não especificada será convertido para o inteiro correspondente. Os valores permitidos são true e false (padrão).
Se você estiver usando o Amazon RDS for Oracle versão 2.0, essa propriedade só poderá ser definida quando supportV1DataTypes for true.
Não
opçõesDePartição Especifica as opções de particionamento de dados usadas para carregar dados do Amazon RDS for Oracle.
Os valores permitidos são: None (padrão), PhysicalPartitionsOfTable e DynamicRange.
Quando uma opção de partição é ativada (ou seja, não None), o grau de paralelismo para carregar simultaneamente dados de um banco de dados do Amazon RDS for Oracle é controlado pela parallelCopies configuração na atividade de cópia.
Não
definições de partição Especifique o grupo de configurações para particionamento de dados.
Aplique quando a opção de partição não Nonefor .
Não
nomes de partições A lista de partições físicas que precisam ser copiadas.
Aplique quando a opção de partição for PhysicalPartitionsOfTable. Se você usar uma consulta para recuperar os dados de origem, conecte ?AdfTabularPartitionName a cláusula WHERE. Para obter um exemplo, consulte a seção Cópia paralela do Amazon RDS para Oracle .
Não
nomeDaColunaDePartição Especifique o nome da coluna de origem no tipo inteiro que será usado pelo particionamento de intervalo para cópia paralela. Se não for especificado, a chave primária da tabela será detetada automaticamente e usada como coluna de partição.
Aplique quando a opção de partição for DynamicRange. Se você usar uma consulta para recuperar os dados de origem, conecte ?AdfRangePartitionColumnName a cláusula WHERE. Para obter um exemplo, consulte a seção Cópia paralela do Amazon RDS para Oracle .
Não
partiçãoUpperBound O valor máximo da coluna de partição para copiar dados.
Aplique quando a opção de partição for DynamicRange. Se você usar uma consulta para recuperar os dados de origem, conecte ?AdfRangePartitionUpbound a cláusula WHERE. Para obter um exemplo, consulte a seção Cópia paralela do Amazon RDS para Oracle .
Não
partiçãoLowerBound O valor mínimo da coluna de partição para copiar dados.
Aplique quando a opção de partição for DynamicRange. Se você usar uma consulta para recuperar os dados de origem, conecte ?AdfRangePartitionLowbound a cláusula WHERE. Para obter um exemplo, consulte a seção Cópia paralela do Amazon RDS para Oracle .
Não
númeroPrecisão Especifique o número máximo de dígitos decimais significativos. Os valores permitidos variam de 1 a 256. O valor padrão é 256 se não for especificado.
Essa propriedade é compatível com o Amazon RDS for Oracle versão 2.0. Aplica-se apenas a tipos NUMBER que não têm precisão e escala explicitamente definidas no banco de dados Oracle. Pode ser definido quando supportV1DataTypes não é true. Se usar o runtime de integração autônoma, a versão deve ser 5.56 ou posterior.
Não
EscalaNumérica Especifique o número de dígitos após a vírgula decimal. Os valores permitidos variam de 0 a 130 e devem ser menores ou iguais à precisão. Define-se como 130, se não for especificado.
Essa propriedade é compatível com o Amazon RDS for Oracle versão 2.0. Aplica-se apenas a tipos NUMBER que não têm precisão e escala explicitamente definidas no banco de dados Oracle. Pode ser definido quando supportV1DataTypes não é true. Se usar o runtime de integração autônoma, a versão deve ser 5.56 ou posterior.
Não

Exemplo: copiar dados usando uma consulta básica sem partição

"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>"
            }
        }
    }
]

Cópia paralela do Amazon RDS for Oracle

O conector do Amazon RDS for Oracle fornece particionamento de dados integrado para copiar dados do Amazon RDS for Oracle em paralelo. Você pode encontrar opções de particionamento de dados na guia Origem da atividade de cópia.

Captura de ecrã das opções de partição.

Quando você habilita a cópia particionada, o serviço executa consultas paralelas na origem do Amazon RDS for Oracle para carregar dados por partições. O grau paralelo é controlado pela parallelCopies configuração na atividade de cópia. Por exemplo, se você definir parallelCopies como quatro, o serviço gerará e executará simultaneamente quatro consultas com base na opção e nas configurações de partição especificadas, e cada consulta recuperará uma parte dos dados do banco de dados do Amazon RDS for Oracle.

Sugere-se que você habilite a cópia paralela com particionamento de dados, especialmente quando carrega uma grande quantidade de dados do banco de dados do Amazon RDS for Oracle. A seguir estão sugeridas configurações para diferentes cenários. Ao copiar dados para o armazenamento de dados baseado em arquivo, é recomendável gravar em uma pasta como vários arquivos (especifique apenas o nome da pasta), caso em que o desempenho é melhor do que gravar em um único arquivo.

Cenário Configurações sugeridas
Carga completa a partir de uma mesa grande, com divisórias físicas. Opção de partição: Partições físicas da tabela.

Durante a execução, o serviço deteta automaticamente as partições físicas e copia os dados por partições.
Carga completa a partir de uma tabela grande, sem partições físicas, enquanto com uma coluna inteira para particionamento de dados. Opções de partição: Partição de intervalo dinâmico.
Coluna de partição: especifique a coluna usada para particionar dados. Se não for especificado, a coluna de chave primária será usada.
Carregue uma grande quantidade de dados usando uma consulta personalizada, com partições físicas. Opção de partição: Partições físicas da tabela.
Consulta: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause>.
Nome da partição: especifique o(s) nome(s) da(s) partição(ões) de onde copiar os dados. Se não for especificado, o serviço detetará automaticamente as partições físicas na tabela especificada no conjunto de dados do Amazon RDS for Oracle.

Durante a execução, o serviço substitui ?AdfTabularPartitionName pelo nome real da partição e envia para o Amazon RDS for Oracle.
Carregue uma grande quantidade de dados usando uma consulta personalizada, sem partições físicas, enquanto com uma coluna inteira para particionamento de dados. Opções de partição: Partição de intervalo dinâmico.
Consulta: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Coluna de partição: especifique a coluna usada para particionar dados. Você pode particionar contra a coluna com o tipo de dados inteiro.
Limite superior da partição e limite inferior da partição: especifique se deseja filtrar a coluna da partição para recuperar dados apenas entre o intervalo inferior e superior.

Durante a execução, o serviço substitui ?AdfRangePartitionColumnNameo , ?AdfRangePartitionUpbounde ?AdfRangePartitionLowbound com o nome da coluna real e os intervalos de valores para cada partição, e envia para o Amazon RDS for Oracle.
Por exemplo, se a coluna de partição "ID" estiver definida com o limite inferior como 1 e o limite superior como 80, com cópia paralela definida como 4, o serviço recuperará dados por 4 partições. Os seus IDs situam-se entre [1, 20], [21, 40], [41, 60] e [61, 80], respetivamente.

Gorjeta

Ao copiar dados de uma tabela não particionada, você pode usar a opção de partição "Intervalo dinâmico" para particionar em uma coluna inteira. Se os dados de origem não tiverem esse tipo de coluna, você poderá aproveitar ORA_HASH função na consulta de origem para gerar uma coluna e usá-la como coluna de partição.

Exemplo: consulta com partição física

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

Exemplo: consulta com partição de intervalo dinâmico

"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>"
    }
}

Mapeamento de tipo de dados para Amazon RDS for Oracle

Quando você copia dados de e para o Amazon RDS for Oracle, os mapeamentos de tipo de dados provisórios a seguir são usados no serviço. Para saber como a atividade de cópia mapeia o esquema de origem e o tipo de dados para o destino, consulte Mapeamentos de esquema e tipo de dados.

Tipo de dados do Amazon RDS for Oracle Tipo de dados de serviço provisório (para a versão 2.0) Tipo de dados de serviço provisório (para a versão 1.0)
BFILE Byte[] Byte[]
BINARY_FLOAT Solteiro Solteiro
BINARY_DOUBLE Duplo Duplo
BLOB Byte[] Byte[]
CHAR Cordão Cordão
CLOB Cordão Cordão
DATA Data e Hora Data e Hora
FLUTUADOR (P < 16) Duplo Duplo
FLUTUADOR (P >= 16) Decimal Duplo
INTERVALO ANO A MÊS Int64 Cordão
INTERVALO DIA A SEGUNDO Intervalo de tempo Cordão
LONGO Cordão Cordão
LONGO CRU Byte[] Byte[]
NCHAR Cordão Cordão
NCLOB Cordão Cordão
NÚMERO (p,s) Int16, Int32, Int64, Duplo, Simples, Decimal Decimal, String (se p > 28)
NÚMERO sem precisão e escala Decimal Duplo
NVARCHAR2 Cordão Cordão
CRU Byte[] Byte[]
DATA E HORA Data e Hora Data e Hora
CARIMBO DE DATA/HORA COM FUSO HORÁRIO LOCAL Data e Hora Data e Hora
CARIMBO DE DATA/HORA COM FUSO HORÁRIO Desvio de Data e Hora Data e Hora
VARCHAR2 Cordão Cordão
XMLTYPE Cordão Cordão

Nota

NÚMERO(p,s) é associado ao tipo de dados de serviço intermediário adequado, de acordo com a precisão (p) e a escala (s).

Propriedades da atividade de pesquisa

Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.

Atualizar o conector do Amazon RDS for Oracle

Veja algumas etapas que ajudam a atualizar o conector do Amazon RDS for Oracle:

  1. Na página Editar serviço vinculado , selecione a versão 2.0 e configure o serviço vinculado consultando as propriedades do serviço vinculado versão 2.0.

    Para as propriedades relacionadas à autenticação, incluindo nome de usuário e senha, especifique os valores originais nos campos correspondentes na versão 2.0. Outras propriedades de conexão, como host, porta e Amazon RDS for Oracle Service Name/Amazon RDS for Oracle SID na versão 1.0, agora são parâmetros da server propriedade na versão 2.0.

    Por exemplo, se você configurar o serviço vinculado versão 1.0 como mostrado abaixo:

    Captura de ecrã do serviço associado da versão 1.0.

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

    A configuração idêntica do serviço vinculado da versão 2.0 usando a nomenclatura Easy Connect (Plus) é:

    Captura de tela do serviço vinculado usando a nomenclatura do conector fácil (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" 
            } 
        } 
    } 
    

    A configuração do serviço de ligação da versão 2.0 idêntica usando o descritor de conector é:

    Captura de tela do serviço vinculado usando o descritor do 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" 
            } 
        } 
    } 
    

    Gorjeta

    O Azure Key Vault tem suporte para a server propriedade. Você pode editar o JSON do serviço vinculado para adicionar a referência do Cofre da Chave do Azure, conforme mostrado abaixo:
    Captura de ecrã a mostrar a utilização do Azure Key Vault no servidor.

    Tenha em atenção que:

    • Se você usar o Nome do Serviço Oracle na versão 1.0, poderá usar o Easy Connect (Plus) Naming ou o Descritor do Conector como o formato do servidor na versão 2.0.

    • Se você usar o Oracle SID na versão 1.0, precisará usar o descritor do conector como o formato do servidor na versão 2.0.

    • Para algumas propriedades de conexão adicionais na versão 1.0, fornecemos propriedades ou parâmetros alternativos na propriedade na server versão 2.0. Você pode consultar a tabela abaixo para atualizar as propriedades da versão 1.0.

      Versão 1.0 Versão 2.0
      método de encriptação PROTOCOLO (parâmetro em server)
      tnsnamesfile TNS_ADMIN (variável de ambiente suportada no tempo de execução de integração auto-hospedada)
      nome do servidor servidor
      EnableBulkload
      Valor: 1, 0
      ativarCarregamentoEmMassa
      Valor: verdadeiro, falso
      fetchtswtzastimestamp
      Valor: 1, 0
      fetchTswtzAsTimestamp (obter Tswtz como Timestamp)
      Valor: verdadeiro, falso
      Servidores alternativos DESCRIPTION_LIST (parâmetro em server)
      tamanho do array fetchSize
      limite de cursor em cache tamanhoDaCacheDeDeclaração
      ContagemDeTentativasDeConexão RETRY_COUNT (parâmetro em server)
      InitializationString initializationString
      tempo limite de início de sessão CONNECT_TIMEOUT (parâmetro em server)
      versão do protocolo criptográfico SSL_VERSION (parâmetro em server)
      loja de confiança WALLET_LOCATION (parâmetro em server)

      Por exemplo, se você usar alternateservers na versão 1.0, poderá definir o DESCRIPTION_LIST parâmetro na propriedade server na versão 2.0:

      Serviço vinculado da versão 1.0 usando 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)"
              }
          }
      }
      

      Versão idêntica 2.0 de serviço vinculado usando o parâmetro DESCRIPTION_LIST no descritor do 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. O mapeamento de tipo de dados para o serviço vinculado do Amazon RDS for Oracle versão 2.0 é diferente do da versão 1.0. Para saber o mapeamento de tipo de dados mais recente, consulte Mapeamento de tipo de dados para o Amazon RDS for Oracle.

    Uma propriedade supportV1DataTypes de conexão adicional na versão 2.0 pode reduzir as dificuldades de atualização causadas por alterações de tipo de dados. Definir essa propriedade para true garantir que o tipo de dados na versão 2.0 permaneça consistente com a versão 1.0.

Diferenças entre o Amazon RDS for Oracle versão 2.0 e versão 1.0

O conector do Amazon RDS for Oracle versão 2.0 oferece novas funcionalidades e é compatível com a maioria dos recursos da versão 1.0. A tabela a seguir mostra as diferenças de recursos entre a versão 2.0 e a versão 1.0.

Versão 2.0 Versão 1.0
Os mapeamentos a seguir são usados de tipos de dados do Amazon RDS for Oracle para tipos de dados de serviço provisórios usados pelo serviço internamente.

NÚMERO(p,s) -> Int16, Int32, Int64, Duplo, Simples, Decimal
FLOAT(p)-> Duplo ou decimal com base na sua precisão
NÚMERO -> Decimal
CARIMBO DE DATA/HORA COM FUSO HORÁRIO -> DateTimeOffset
INTERVALO ANO A MÊS -> Int64
INTERVALO DIA A SEGUNDO -> TimeSpan
Os mapeamentos a seguir são usados de tipos de dados do Amazon RDS for Oracle para tipos de dados de serviço provisórios usados pelo serviço internamente.

NÚMERO(p,s) -> Decimal ou String com base na sua precisão
FLOAT(p)-> Duplo
NÚMERO -> Duplo
CARIMBO DE DATA/HORA COM FUSO HORÁRIO -> DateTime
INTERVALO ANO A MÊS -> String
INTERVALO DIA A SEGUNDO -> String
Suporte a convertDecimalToInteger na cópia de origem quando supportV1DataTypes está definido como true. Suporte a convertDecimalToInteger na origem de cópia. 
Suporte TLS 1.3. TLS 1.3 não é suportado.

Para obter uma lista de armazenamentos de dados suportados como fontes e coletores pela atividade de cópia, consulte Armazenamentos de dados suportados.