Copiare dati da e in Oracle usando Azure Data FactoryCopy data from and to Oracle by using Azure Data Factory

Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare dati da e in un database Oracle.This article outlines how to use the copy activity in Azure Data Factory to copy data from and to an Oracle database. Si basa sulla Panoramica dell'attività di copia.It builds on the copy activity overview.

Funzionalità supportateSupported capabilities

Questo connettore Oracle è supportato per le attività seguenti:This Oracle connector is supported for the following activities:

È possibile copiare dati da un database Oracle in qualsiasi archivio dati di sink supportato.You can copy data from an Oracle database to any supported sink data store. È anche possibile copiare dati da qualsiasi archivio di dati di origine supportato in un database Oracle.You also can copy data from any supported source data store to an Oracle database. Per un elenco degli archivi dati supportati come origini o sink dall'attività di copia, vedere la tabella relativa agli archivi dati supportati.For a list of data stores that are supported as sources or sinks by the copy activity, see the Supported data stores table.

In particolare, questo connettore Oracle supporta:Specifically, this Oracle connector supports:

  • Le versioni seguenti di un database Oracle:The following versions of an Oracle database:
    • Oracle 18C R1 (18,1) e versioni successiveOracle 18c R1 (18.1) and higher
    • Oracle 12C R1 (12,1) e versioni successiveOracle 12c R1 (12.1) and higher
    • Oracle 11g R1 (11,1) e versioni successiveOracle 11g R1 (11.1) and higher
    • Oracle 10g R1 (10,1) e versioni successiveOracle 10g R1 (10.1) and higher
    • Oracle 9i R2 (9,2) e versioni successiveOracle 9i R2 (9.2) and higher
    • Oracle 8i R3 (8.1.7) e versioni successiveOracle 8i R3 (8.1.7) and higher
    • Servizio Exadata cloud Oracle DatabaseOracle Database Cloud Exadata Service
  • Copia di dati tramite l'autenticazione di base o OID.Copying data by using Basic or OID authentications.
  • Copia parallela da un'origine Oracle.Parallel copying from an Oracle source. Per informazioni dettagliate, vedere la sezione copia parallela da Oracle .See the Parallel copy from Oracle section for details.

Nota

Il server proxy Oracle non è supportato.Oracle proxy server isn't supported.

PrerequisitiPrerequisites

Se l'archivio dati è configurato in uno dei modi seguenti, è necessario configurare un Integration Runtime self-hosted per connettersi a questo archivio dati:If your data store is configured in one of the following ways, you need to set up a Self-hosted Integration Runtime in order to connect to this data store:

  • L'archivio dati si trova all'interno di una rete locale, all'interno di una rete virtuale di Azure o all'interno di un cloud privato virtuale di Amazon.The data store is located inside an on-premises network, inside Azure Virtual Network, or inside Amazon Virtual Private Cloud.
  • L'archivio dati è un servizio dati cloud gestito in cui l'accesso è limitato agli indirizzi IP consentiti nelle regole del firewall.The data store is a managed cloud data service where the access is restricted to IPs whitelisted in the firewall rules.

Il runtime di integrazione fornisce un driver Oracle incorporato.The integration runtime provides a built-in Oracle driver. Non è pertanto necessario installare manualmente un driver quando si copiano dati da e in Oracle.Therefore, you don't need to manually install a driver when you copy data from and to Oracle.

IntroduzioneGet started

È possibile usare l'attività di copia con una pipeline tramite uno degli strumenti o degli SDK seguenti.You can use one of the following tools or SDKs to use the copy activity with a pipeline. Per istruzioni dettagliate, selezionare un collegamento:Select a link for step-by-step instructions:

Le sezioni seguenti riportano informazioni dettagliate sulle proprietà usate per definire entità di Data Factory specifiche per il connettore Oracle.The following sections provide details about properties that are used to define Data Factory entities specific to the Oracle connector.

Proprietà del servizio collegatoLinked service properties

Il servizio collegato Oracle supporta le proprietà seguenti:The Oracle linked service supports the following properties:

ProprietàProperty DescrizioneDescription ObbligatorioRequired
typetype La proprietà type deve essere impostata su Oracle.The type property must be set to Oracle. Yes
connectionStringconnectionString Specifica le informazioni necessarie per la connessione all'istanza del database Oracle.Specifies the information needed to connect to the Oracle Database instance.
Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro nel Data Factory.Mark this field as a SecureString to store it securely in Data Factory. È anche possibile inserire una password in Azure Key Vault ed estrarre la configurazione password dalla stringa di connessione.You can also put a password in Azure Key Vault, and pull the password configuration out of the connection string. Per informazioni dettagliate, vedere gli esempi seguenti e archiviare le credenziali in Azure Key Vault .Refer to the following samples and Store credentials in Azure Key Vault with more details.

Tipo di connessione supportato: è possibile usare l'ID di sicurezza Oracle o il nome del servizio Oracle per identificare il database:Supported connection type: You can use Oracle SID or Oracle Service Name to identify your database:
- Se si usa il SID: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;- If you use SID: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;
- Se si usa il nome del servizio: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;- If you use Service Name: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;
Yes
connectViaconnectVia Runtime di integrazione da usare per la connessione all'archivio dati.The integration runtime to be used to connect to the data store. Ulteriori informazioni sono disponibili nella sezione prerequisiti .Learn more from Prerequisites section. Se questa proprietà non è specificata, viene usato il tipo Azure Integration Runtime predefinito.If not specified, the default Azure Integration Runtime is used. NoNo

Suggerimento

Se viene ricevuto un errore, "ORA-01025: parametro UPI non compreso nell'intervallo" e la versione di Oracle è 8i, aggiungere WireProtocolMode=1 alla stringa di connessione.If you get an error, "ORA-01025: UPI parameter out of range", and your Oracle version is 8i, add WireProtocolMode=1 to your connection string. Quindi riprovare.Then try again.

Ulteriori proprietà di connessione che è possibile impostare nella stringa di connessione in base al caso:More connection properties you can set in connection string per your case:

ProprietàProperty DescrizioneDescription Valori consentitiAllowed values
ArraySizeArraySize Numero di byte che il connettore può recuperare in una singola rete round trip.The number of bytes the connector can fetch in a single network round trip. Ad esempio, ArraySize=‭10485760‬.E.g., ArraySize=‭10485760‬.

I valori più grandi aumentano la velocità effettiva riducendo il numero di volte in cui recuperare i dati attraverso la rete.Larger values increase throughput by reducing the number of times to fetch data across the network. I valori più piccoli aumentano il tempo di risposta, poiché si verificano meno ritardi in attesa del server per la trasmissione dei dati.Smaller values increase response time, as there is less of a delay waiting for the server to transmit data.
Numero intero compreso tra 1 e 4294967296 (4 GB).An integer from 1 to 4294967296 (4 GB). Il valore predefinito è 60000.Default value is 60000. Il valore 1 non definisce il numero di byte, ma indica l'allocazione dello spazio per esattamente una riga di dati.The value 1 does not define the number of bytes, but indicates allocating space for exactly one row of data.

Per abilitare la crittografia sulla connessione di Oracle, sono disponibili due opzioni:To enable encryption on Oracle connection, you have two options:

  • Per usare la crittografia Triple DES (3DES) e la Advanced Encryption Standard (AES) , sul lato server Oracle passare a Oracle Advanced Security (OAS) e configurare le impostazioni di crittografia.To use Triple-DES Encryption (3DES) and Advanced Encryption Standard (AES), on the Oracle server side, go to Oracle Advanced Security (OAS) and configure the encryption settings. Per informazioni dettagliate, vedere la documentazione di Oracle.For details, see this Oracle documentation. Il connettore ADF (Application Development Framework) Oracle negozia automaticamente il metodo di crittografia per usare quello configurato in OAS quando si stabilisce una connessione a Oracle.The Oracle Application Development Framework (ADF) connector automatically negotiates the encryption method to use the one you configure in OAS when establishing a connection to Oracle.

  • Per usare SSL:To use SSL:

    1. Ottenere le informazioni sul certificato SSL.Get the SSL certificate info. Ottenere le informazioni sul certificato con codifica Distinguished Encoding Rules (DER) del certificato SSL e salvare l'output (-----Begin certificate...Get the Distinguished Encoding Rules (DER)-encoded certificate information of your SSL cert, and save the output (----- Begin Certificate … End Certificate -----) come file di testo.End Certificate -----) as a text file.

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

      Esempio: Estrarre le informazioni sul certificato da DERcert. cer e quindi salvare l'output in cert. txt.Example: Extract cert info from DERcert.cer, and then save the output to cert.txt.

      openssl x509 -inform DER -in DERcert.cer -text
      Output:
      -----BEGIN CERTIFICATE-----
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXX
      -----END CERTIFICATE-----
      
    2. Compilare il keystore o truststore.Build the keystore or truststore. Il comando che segue crea il file di truststore, con o senza una password, in formato PKCS-12.The following command creates the truststore file, with or without a password, in PKCS-12 format.

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

      Esempio: Creare un file PKCS12 truststore, denominato MyTrustStoreFile, con una password.Example: Create a PKCS12 truststore file, named MyTrustStoreFile, with a password.

      openssl pkcs12 -in cert.txt -out MyTrustStoreFile -passout pass:ThePWD -nokeys -export  
      
    3. Inserire il file di truststore nel computer IR indipendente.Place the truststore file on the self-hosted IR machine. Inserire, ad esempio, il file in C:\MyTrustStoreFile.For example, place the file at C:\MyTrustStoreFile.

    4. In Azure Data Factory configurare la stringa di connessione Oracle con EncryptionMethod=1 e il valore di TrustStorePassword/TrustStorecorrispondente.In Azure Data Factory, configure the Oracle connection string with EncryptionMethod=1 and the corresponding TrustStore/TrustStorePasswordvalue. Ad esempio, Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>.For example, Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>.

Esempio:Example:

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

Esempio: archiviare la password in Azure Key VaultExample: store password in Azure Key Vault

{
    "name": "OracleLinkedService",
    "properties": {
        "type": "Oracle",
        "typeProperties": {
            "connectionString": {
                "type": "SecureString",
                "value": "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"
        }
    }
}

Proprietà del set di datiDataset properties

Questa sezione presenta un elenco delle proprietà supportate dal set di dati Oracle.This section provides a list of properties supported by the Oracle dataset. Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di impostazioni, vedere Datasets.For a full list of sections and properties available for defining datasets, see Datasets.

Per copiare dati da e in Oracle, impostare la proprietà Type del set di dati su OracleTable.To copy data from and to Oracle, set the type property of the dataset to OracleTable. Sono supportate le proprietà seguenti.The following properties are supported.

ProprietàProperty DescrizioneDescription ObbligatorioRequired
typetype La proprietà Type del set di dati deve essere impostata su OracleTable.The type property of the dataset must be set to OracleTable. Yes
schemaschema Nome dello schema.Name of the schema. No per l'origine, Sì per il sinkNo for source, Yes for sink
tabletable Nome della tabella o della vista.Name of the table/view. No per l'origine, Sì per il sinkNo for source, Yes for sink
tableNametableName Nome della tabella o della vista con schema.Name of the table/view with schema. Questa proprietà è supportata per compatibilità con le versioni precedenti.This property is supported for backward compatibility. Per il nuovo carico di lavoro, usare schema e table.For new workload, use schema and table. No per l'origine, Sì per il sinkNo for source, Yes for sink

Esempio:Example:

{
    "name": "OracleDataset",
    "properties":
    {
        "type": "OracleTable",
        "schema": [],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        },
        "linkedServiceName": {
            "referenceName": "<Oracle linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Proprietà dell'attività di copiaCopy activity properties

Questa sezione presenta un elenco delle proprietà supportate dall'origine e dal sink Oracle.This section provides a list of properties supported by the Oracle source and sink. Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline.For a full list of sections and properties available for defining activities, see Pipelines.

Oracle come origineOracle as source

Suggerimento

Per caricare in modo efficiente i dati da Oracle usando il partizionamento dei dati, vedere la copia parallela da Oracle.To load data from Oracle efficiently by using data partitioning, learn more from Parallel copy from Oracle.

Per copiare dati da Oracle, impostare il tipo di origine nell'attività di copia su OracleSource.To copy data from Oracle, set the source type in the copy activity to OracleSource. Nella sezione source dell'attività di copia sono supportate le proprietà seguenti.The following properties are supported in the copy activity source section.

ProprietàProperty DescrizioneDescription ObbligatorioRequired
typetype La proprietà Type dell'origine dell'attività di copia deve essere impostata su OracleSource.The type property of the copy activity source must be set to OracleSource. Yes
oracleReaderQueryoracleReaderQuery Usare la query SQL personalizzata per leggere i dati.Use the custom SQL query to read data. Un esempio è "SELECT * FROM MyTable".An example is "SELECT * FROM MyTable".
Quando si Abilita il caricamento partizionato, è necessario associare tutti i parametri di partizione predefiniti corrispondenti nella query.When you enable partitioned load, you need to hook any corresponding built-in partition parameters in your query. Per esempi, vedere la sezione copia parallela da Oracle .For examples, see the Parallel copy from Oracle section.
NoNo
partitionOptionspartitionOptions Specifica le opzioni di partizionamento dei dati utilizzate per caricare dati da Oracle.Specifies the data partitioning options used to load data from Oracle.
I valori consentiti sono: None (impostazione predefinita), PhysicalPartitionsOfTable e DynamicRange.Allowed values are: None (default), PhysicalPartitionsOfTable ,and DynamicRange.
Quando è abilitata un'opzione di partizione (ovvero non None), il grado di parallelismo per caricare simultaneamente i dati da un database Oracle è controllato dall'impostazione parallelCopies sull'attività di copia.When a partition option is enabled (that is, not None), the degree of parallelism to concurrently load data from an Oracle database is controlled by the parallelCopies setting on the copy activity.
NoNo
partitionSettingspartitionSettings Consente di specificare il gruppo di impostazioni per il partizionamento dei dati.Specify the group of the settings for data partitioning.
Applicare quando l'opzione partition non è None.Apply when the partition option isn't None.
NoNo
partitionNamespartitionNames Elenco di partizioni fisiche che devono essere copiate.The list of physical partitions that needs to be copied.
Applicare quando l'opzione di partizione è PhysicalPartitionsOfTable.Apply when the partition option is PhysicalPartitionsOfTable. Se si utilizza una query per recuperare i dati di origine, associare ?AdfTabularPartitionName nella clausola WHERE.If you use a query to retrieve the source data, hook ?AdfTabularPartitionName in the WHERE clause. Per un esempio, vedere la sezione copia parallela da Oracle .For an example, see the Parallel copy from Oracle section.
NoNo
partitionColumnNamepartitionColumnName Specificare il nome della colonna di origine nel tipo Integer che verrà utilizzato dal partizionamento dell'intervallo per la copia parallela.Specify the name of the source column in integer type that will be used by range partitioning for parallel copy. Se non è specificato, la chiave primaria della tabella viene rilevata automaticamente e utilizzata come colonna della partizione.If not specified, the primary key of the table is auto-detected and used as the partition column.
Applicare quando l'opzione di partizione è DynamicRange.Apply when the partition option is DynamicRange. Se si utilizza una query per recuperare i dati di origine, associare ?AdfRangePartitionColumnName nella clausola WHERE.If you use a query to retrieve the source data, hook ?AdfRangePartitionColumnName in the WHERE clause. Per un esempio, vedere la sezione copia parallela da Oracle .For an example, see the Parallel copy from Oracle section.
NoNo
partitionUpperBoundpartitionUpperBound Valore massimo della colonna di partizione in cui copiare i dati.The maximum value of the partition column to copy data out.
Applicare quando l'opzione di partizione è DynamicRange.Apply when the partition option is DynamicRange. Se si utilizza una query per recuperare i dati di origine, associare ?AdfRangePartitionUpbound nella clausola WHERE.If you use a query to retrieve the source data, hook ?AdfRangePartitionUpbound in the WHERE clause. Per un esempio, vedere la sezione copia parallela da Oracle .For an example, see the Parallel copy from Oracle section.
NoNo
partitionLowerBoundpartitionLowerBound Valore minimo della colonna di partizione in cui copiare i dati.The minimum value of the partition column to copy data out.
Applicare quando l'opzione di partizione è DynamicRange.Apply when the partition option is DynamicRange. Se si utilizza una query per recuperare i dati di origine, associare ?AdfRangePartitionLowbound nella clausola WHERE.If you use a query to retrieve the source data, hook ?AdfRangePartitionLowbound in the WHERE clause. Per un esempio, vedere la sezione copia parallela da Oracle .For an example, see the Parallel copy from Oracle section.
NoNo

Esempio: copiare i dati usando una query di base senza partizioneExample: copy data by using a basic query without partition

"activities":[
    {
        "name": "CopyFromOracle",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Oracle input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "OracleSource",
                "oracleReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Oracle come sinkOracle as sink

Per copiare dati in Oracle, impostare il tipo di sink nell'attività di copia su OracleSink.To copy data to Oracle, set the sink type in the copy activity to OracleSink. Nella sezione sink dell'attività di copia sono supportate le proprietà seguenti.The following properties are supported in the copy activity sink section.

ProprietàProperty DescrizioneDescription ObbligatorioRequired
typetype La proprietà Type del sink dell'attività di copia deve essere impostata su OracleSink.The type property of the copy activity sink must be set to OracleSink. Yes
writeBatchSizewriteBatchSize Inserisce i dati nella tabella SQL quando la dimensione del buffer raggiunge writeBatchSize.Inserts data into the SQL table when the buffer size reaches writeBatchSize.
I valori consentiti sono integer (numero di righe).Allowed values are Integer (number of rows).
No (il valore predefinito è 10.000)No (default is 10,000)
writeBatchTimeoutwriteBatchTimeout Tempo di attesa per l'operazione di inserimento batch da completare prima del timeout.The wait time for the batch insert operation to complete before it times out.
I valori consentiti sono un intervallo di tempo.Allowed values are Timespan. Ad esempio "00:30:00" (30 minuti).An example is 00:30:00 (30 minutes).
NoNo
preCopyScriptpreCopyScript Specificare una query SQL per l'attività di copia da eseguire prima di scrivere i dati in Oracle a ogni esecuzione.Specify a SQL query for the copy activity to run before writing data into Oracle in each run. È possibile usare questa proprietà per pulire i dati precaricati.You can use this property to clean up the preloaded data. NoNo

Esempio:Example:

"activities":[
    {
        "name": "CopyToOracle",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Oracle output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "OracleSink"
            }
        }
    }
]

Copia parallela da OracleParallel copy from Oracle

Il Data Factory connettore Oracle fornisce il partizionamento dei dati predefinito per copiare dati da Oracle in parallelo.The Data Factory Oracle connector provides built-in data partitioning to copy data from Oracle in parallel. È possibile trovare le opzioni di partizionamento dei dati nella scheda origine dell'attività di copia.You can find data partitioning options on the Source tab of the copy activity.

Screenshot delle opzioni di partizione

Quando si Abilita la copia partizionata, Data Factory esegue query parallele sull'origine Oracle per caricare i dati in base alle partizioni.When you enable partitioned copy, Data Factory runs parallel queries against your Oracle source to load data by partitions. Il grado parallelo è controllato dall'impostazione del parallelCopies sull'attività di copia.The parallel degree is controlled by the parallelCopies setting on the copy activity. Se, ad esempio, si imposta parallelCopies su quattro, Data Factory genera ed esegue quattro query in base all'opzione di partizione specificata e alle impostazioni e ogni query recupera una porzione di dati dal database Oracle.For example, if you set parallelCopies to four, Data Factory concurrently generates and runs four queries based on your specified partition option and settings, and each query retrieves a portion of data from your Oracle database.

Si consiglia di abilitare la copia parallela con il partizionamento dei dati, specialmente quando si caricano grandi quantità di dati dal database Oracle.You are suggested to enable parallel copy with data partitioning especially when you load large amount of data from your Oracle database. Di seguito sono elencate le configurazioni consigliate per diversi scenari.The following are suggested configurations for different scenarios. Quando si copiano dati in un archivio dati basato su file, viene riordinata la scrittura in una cartella come più file (specifica solo il nome della cartella), nel qual caso le prestazioni sono migliori rispetto alla scrittura in un singolo file.When copying data into file-based data store, it's recommanded to write to a folder as multiple files (only specify folder name), in which case the performance is better than writing to a single file.

ScenarioScenario Impostazioni consigliateSuggested settings
Caricamento completo da tabelle di grandi dimensioni, con partizioni fisiche.Full load from large table, with physical partitions. Opzione partition: partizioni fisiche della tabella.Partition option: Physical partitions of table.

Durante l'esecuzione, Data Factory rileva automaticamente le partizioni fisiche e copia i dati in base alle partizioni.During execution, Data Factory automatically detects the physical partitions, and copies data by partitions.
Caricamento completo da tabelle di grandi dimensioni, senza partizioni fisiche, mentre con una colonna di tipo integer per il partizionamento dei dati.Full load from large table, without physical partitions, while with an integer column for data partitioning. Opzioni di partizione: partizione a intervalli dinamici.Partition options: Dynamic range partition.
Colonna partizione: specificare la colonna utilizzata per partizionare i dati.Partition column: Specify the column used to partition data. Se non è specificato, viene utilizzata la colonna chiave primaria.If not specified, the primary key column is used.
Caricare una grande quantità di dati tramite una query personalizzata con partizioni fisiche.Load a large amount of data by using a custom query, with physical partitions. Opzione partition: partizioni fisiche della tabella.Partition option: Physical partitions of table.
Query: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause>.Query: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause>.
Nome partizione: specificare i nomi di partizione da cui copiare i dati.Partition name: Specify the partition name(s) to copy data from. Se non specificato, Data Factory rileva automaticamente le partizioni fisiche nella tabella specificata nel set di dati Oracle.If not specified, Data Factory automatically detects the physical partitions on the table you specified in the Oracle dataset.

Durante l'esecuzione, Data Factory sostituisce ?AdfTabularPartitionName con il nome effettivo della partizione e invia a Oracle.During execution, Data Factory replaces ?AdfTabularPartitionName with the actual partition name, and sends to Oracle.
Caricare una grande quantità di dati tramite una query personalizzata, senza partizioni fisiche, mentre con una colonna integer per il partizionamento dei dati.Load a large amount of data by using a custom query, without physical partitions, while with an integer column for data partitioning. Opzioni di partizione: partizione a intervalli dinamici.Partition options: Dynamic range partition.
Query: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.Query: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Colonna partizione: specificare la colonna utilizzata per partizionare i dati.Partition column: Specify the column used to partition data. È possibile partizionare la colonna con il tipo di dati Integer.You can partition against the column with integer data type.
Limite superiore della partizione e limite inferiore della partizione: specificare se si desidera filtrare in base alla colonna di partizione per recuperare i dati solo tra l'intervallo inferiore e quello superiore.Partition upper bound and partition lower bound: Specify if you want to filter against partition column to retrieve data only between the lower and upper range.

Durante l'esecuzione, Data Factory sostituisce ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbounde ?AdfRangePartitionLowbound con il nome della colonna e gli intervalli di valori effettivi per ogni partizione e invia a Oracle.During execution, Data Factory replaces ?AdfRangePartitionColumnName, ?AdfRangePartitionUpbound, and ?AdfRangePartitionLowbound with the actual column name and value ranges for each partition, and sends to Oracle.
Se ad esempio la colonna di partizione "ID" è impostata con il limite inferiore 1 e il limite superiore come 80, con la copia parallela impostata su 4, Data Factory recupera i dati di 4 partizioni.For example, if your partition column "ID" is set with the lower bound as 1 and the upper bound as 80, with parallel copy set as 4, Data Factory retrieves data by 4 partitions. I rispettivi ID sono rispettivamente compresi tra [1, 20], [21, 40], [41, 60] e [61, 80].Their IDs are between [1,20], [21, 40], [41, 60], and [61, 80], respectively.

Esempio: query con partizione fisicaExample: query with physical partition

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

Esempio: query con partizione a intervalli dinamiciExample: query with dynamic range partition

"source": {
    "type": "OracleSource",
    "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>"
    }
}

Mapping dei tipi di dati per OracleData type mapping for Oracle

Quando si copiano dati da e in Oracle, vengono applicati i mapping seguenti.When you copy data from and to Oracle, the following mappings apply. Per informazioni su come l'attività di copia esegue il mapping dello schema di origine e del tipo di dati al sink, vedere Mapping dello schema e del tipo di dati.To learn about how the copy activity maps the source schema and data type to the sink, see Schema and data type mappings.

Tipo di dati OracleOracle data type Tipo di dati provvisorio di Data FactoryData Factory interim data type
BFILEBFILE Byte[]Byte[]
BLOBBLOB Byte[]Byte[]
(supportato solo in Oracle 10g e versioni successive)(only supported on Oracle 10g and higher)
CHARCHAR StringString
CLOBCLOB StringString
DATEDATE DateTimeDateTime
FLOATFLOAT Decimal, String (se la precisione > 28)Decimal, String (if precision > 28)
INTEGERINTEGER Decimal, String (se la precisione > 28)Decimal, String (if precision > 28)
LONGLONG StringString
LONG RAWLONG RAW Byte[]Byte[]
NCHARNCHAR StringString
NCLOBNCLOB StringString
NUMBERNUMBER Decimal, String (se la precisione > 28)Decimal, String (if precision > 28)
NVARCHAR2NVARCHAR2 StringString
RAWRAW Byte[]Byte[]
ROWIDROWID StringString
TIMESTAMPTIMESTAMP DateTimeDateTime
TIMESTAMP WITH LOCAL TIME ZONETIMESTAMP WITH LOCAL TIME ZONE StringString
TIMESTAMP WITH TIME ZONETIMESTAMP WITH TIME ZONE StringString
UNSIGNED INTEGERUNSIGNED INTEGER NumberNumber
VARCHAR2VARCHAR2 StringString
XMLXML StringString

Nota

I tipi di dati INTERVAL YEAR TO MONTH e INTERVAL DAY TO SECOND non sono supportati.The data types INTERVAL YEAR TO MONTH and INTERVAL DAY TO SECOND aren't supported.

Proprietà attività di ricercaLookup activity properties

Per informazioni dettagliate sulle proprietà, controllare l' attività di ricerca.To learn details about the properties, check Lookup activity.

Passaggi successiviNext steps

Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia in Data Factory, vedere gli archivi dati supportati.For a list of data stores supported as sources and sinks by the copy activity in Data Factory, see Supported data stores.