Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A: Azure Data Factory
Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Questo articolo illustra come usare l'attività di copia in Azure Data Factory per copiare dati da un database Amazon RDS per Oracle. Si basa sulla panoramica dell'attività di copia.
Importante
Il connettore Amazon RDS per Oracle versione 2.0 offre il supporto di Amazon RDS nativo migliorato per Oracle. Se si usa il connettore Amazon RDS per Oracle versione 1.0 nella soluzione, aggiornare il connettore Amazon RDS per Oracle prima del 31 ottobre 2025. Per informazioni dettagliate sulla differenza tra la versione 2.0 e la versione 1.0, vedere questa sezione .
Funzionalità supportate
Questo connettore Amazon RDS per Oracle è supportato per le funzionalità seguenti:
Funzionalità supportate | IR |
---|---|
Attività Copy (origine/-) | (1) (2) |
Attività Lookup | (1) (2) |
① Azure Integration Runtime ② Runtime di integrazione self-hosted
Per un elenco degli archivi dati supportati come origini o sink dall'attività di copia, vedere la tabella relativa agli archivi dati supportati.
In particolare, questo connettore Amazon RDS per Oracle supporta:
- Le versioni seguenti di un database Amazon RDS per Oracle per la versione 2.0:
- Amazon RDS per Oracle 19c o versione successiva
- Le versioni seguenti di un database Amazon RDS per Oracle per la versione 1.0:
- Amazon RDS per Oracle 19c R1 (19.1) e versioni successive
- Amazon RDS per Oracle 18c R1 (18.1) e versioni successive
- Amazon RDS per Oracle 12c R1 (12.1) e versioni successive
- Amazon RDS per Oracle 11g R1 (11.1) e versioni successive
- Copia parallela da un'origine Amazon RDS per Oracle. Per informazioni dettagliate, vedere la sezione Copia parallela da Amazon RDS per Oracle .
Nota
Amazon RDS per il server proxy Oracle non è supportato.
Prerequisiti
Se l'archivio dati si trova all'interno di una rete locale, una rete virtuale di Azure o un cloud privato virtuale di Amazon, è necessario configurare un runtime di integrazione self-hosted per connettersi.
Se l'archivio dati è un servizio dati del cloud gestito, è possibile usare Azure Integration Runtime. Se l'accesso è limitato solo agli indirizzi IP approvati nelle regole del firewall, è possibile aggiungere IP di Azure Integration Runtime nell'elenco Consentiti.
È anche possibile usare la funzionalitàruntime di integrazione della rete virtuale gestita in Azure Data Factory per accedere alla rete locale senza installare e configurare un runtime di integrazione self-hosted.
Per altre informazioni sui meccanismi di sicurezza di rete e sulle opzioni supportate da Data Factory, vedere strategie di accesso ai dati.
Il runtime di integrazione fornisce un driver Amazon RDS predefinito per Oracle. Pertanto, non è necessario installare manualmente un driver quando si copiano dati da Amazon RDS per Oracle.
Operazioni preliminari
Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:
- Strumento Copia dati
- Il portale di Azure
- .NET SDK
- SDK di Python
- Azure PowerShell
- API REST
- Modello di Azure Resource Manager
Creare un servizio collegato ad Amazon RDS per Oracle usando l'interfaccia utente
Usare la procedura seguente per creare un servizio collegato ad Amazon RDS per Oracle nell'interfaccia utente di portale di Azure.
Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:
Cercare Amazon RDS per Oracle e selezionare il connettore Amazon RDS per Oracle.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
Dettagli di configurazione del connettore
Le sezioni seguenti forniscono informazioni dettagliate sulle proprietà usate per definire entità specifiche del connettore Amazon RDS per Oracle.
Proprietà del servizio collegato
Amazon RDS for Oracle Connector versione 2.0 supporta TLS 1.3. Fare riferimento a questa sezione per aggiornare la versione del connettore Amazon RDS per Oracle dalla versione 1.0. Per informazioni dettagliate sulla proprietà, vedere le sezioni corrispondenti.
Versione 2.0
Il servizio collegato Amazon RDS per Oracle supporta le proprietà seguenti quando si applica la versione 2.0:
Proprietà | Descrizione | Richiesto |
---|---|---|
tipo | La proprietà type deve essere impostata su AmazonRdsForOracle. | Sì |
Versione | Versione specificata. Il valore è 2.0 . |
Sì |
server informatico | Posizione di Amazon RDS per il database Oracle a cui ci si vuole connettere. È possibile fare riferimento alla configurazione delle proprietà del server per specificarla. | Sì |
tipo di autenticazione | Tipo di autenticazione per la connessione al database Amazon RDS per Oracle. Ora è supportata solo l'autenticazione di base . | Sì |
nome utente | Nome utente del database Amazon RDS per Oracle. | Sì |
parola d’ordine | Password del database Amazon RDS per Oracle. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro. In alternativa, fare riferimento a un segreto archiviato in Azure Key Vault. | Sì |
connectVia | Runtime di integrazione da usare per la connessione all'archivio dati. Per altre informazioni, vedere la sezione Prerequisiti. Se questa proprietà non è specificata, viene usato il tipo Azure Integration Runtime predefinito. | NO |
Altre proprietà di connessione che è possibile impostare nel servizio collegato in base al caso:
Proprietà | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
client di crittografia | Specifica il comportamento del client di crittografia. I valori supportati sono accepted , rejected , requested o required . Tipo: string |
NO | required |
encryptionTypesClient | Specifica gli algoritmi di crittografia che il client può usare. I valori supportati sono AES128 , AES192 , AES256 , 3DES112 , . 3DES168 Tipo: string |
NO | (AES256) |
cryptoChecksumClient | Specifica il comportamento di integrità dei dati desiderato quando il client si connette a un server. I valori supportati sono accepted , rejected , requested o required . Tipo: string |
NO | required |
cryptoChecksumTypesClient | Specifica gli algoritmi di crypto-checksum che il client può usare. I valori supportati sono SHA1 , SHA256 , SHA384 , SHA512 . Tipo: string |
NO | (SHA512) |
initialLobFetchSize | Specifica la quantità che l'origine recupera inizialmente per le colonne LOB. Tipo: int | NO | 0 |
fetchSize | Specifica il numero di byte che il driver alloca per recuperare i dati in un round-trip del database. Tipo: int | NO | 10 MB |
dichiarazioneCacheSize | Specifica il numero di cursori o istruzioni da memorizzare nella cache per ogni connessione al database. Tipo: int | NO | 0 |
stringa di inizializzazione | Specifica un comando che viene eseguito immediatamente dopo la connessione al database per gestire le impostazioni della sessione. Tipo: string | NO | nullo |
enableBulkLoad | Specifica se utilizzare la copia bulk o l'inserimento batch durante il caricamento dei dati nel database. Tipo: booleano | NO | vero |
supporta i tipi di dati V1 | Specifica se utilizzare i mapping dei tipi di dati versione 1.0. Non impostare questa opzione su true a meno che non si voglia mantenere la compatibilità retroattiva con i mapping dei tipi di dati della versione 1.0. Tipo: booleano | No, questa proprietà è solo per l'uso della compatibilità con le versioni precedenti | falso |
fetchTswtzAsTimestamp | Specifica se il driver restituisce il valore della colonna con il tipo di dati TIMESTAMP WITH TIME ZONE come DateTime o string. Questa impostazione viene ignorata se supportV1DataTypes non è true. Tipo: booleano | No, questa proprietà è solo per l'uso della compatibilità con le versioni precedenti | vero |
Esempio:
{
"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"
}
}
}
Esempio: archiviare la password in 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
configurazione delle proprietà
Per server
la proprietà , è possibile specificarla in uno dei tre formati seguenti:
Formato | Esempio |
---|---|
Descrittore di connessione | (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com))) |
Denominazione di Easy Connect (Plus) | salesserver1:1521/sales.us.example.com |
Nome Oracle Net Services (alias TNS) (solo per il runtime di integrazione self-hosted) | vendite |
L'elenco seguente mostra i parametri supportati usati in server
. Se si usano parametri non inclusi nell'elenco seguente, la connessione non riesce.
Quando si usa il runtime di integrazione di Azure:
OSPITE
PORTA
PROTOCOLLO
SERVICE_NAME
SID
INSTANCE_NAME
SERVER
timeout di connessione
RETRY_COUNT
RETRY_DELAY
SSL_VERSION
SSL_SERVER_DN_MATCH
SSL_SERVER_CERT_DNQuando si utilizza il runtime di integrazione self-hosted.
OSPITE
PORTA
PROTOCOLLO
ABILITARE
TEMPO_DI_SCADENZA
failover
Bilanciamento del carico
RECV_BUF_SIZE
SDU
Dimensione Buffer Invio
PERCORSO_SORGENTE
TIPO_DI_SERVIZIO
COLOCATION_TAG
CONNECTION_ID_PREFIX
modalità di ripristino
GLOBAL_NAME
HS
INSTANCE_NAME
LIMITE_DEL_PISCINA
CLASSE_DI_CONNESSIONE_POOL
POOL_NAME
PUREZZA_DEL_PISCINA
RDB_DATABASE
CHIAVE_DI_FRAMMENTAZIONE
SHARDING_KEY_ID
SUPER_SHARDING_KEY
SERVER
SERVICE_NAME
SID
TUNNEL_SERVICE_NAME
Autenticazione del Client SSL
SSL_CERTIFICATE_ALIAS
Impronta Digitale del Certificato SSL (SSL_CERTIFICATE_THUMBPRINT)
SSL_VERSION
SSL_SERVER_DN_MATCH
SSL_SERVER_CERT_DN
Posizione del Portafoglio
timeout di connessione
RETRY_COUNT
RETRY_DELAY
TIMEOUT_DI_CONNESSIONE_TRASPORTO
RECV_TIMEOUT
COMPRESSIONE
LIVELLI_DI_COMPRESSIONE
Versione 1.0
Il servizio collegato Amazon RDS per Oracle supporta le proprietà seguenti quando si applica la versione 1.0:
Proprietà | Descrizione | Richiesto |
---|---|---|
tipo | La proprietà type deve essere impostata su AmazonRdsForOracle. | Sì |
stringa di connessione | Specifica le informazioni necessarie per connettersi all'istanza di Amazon RDS per Oracle Database. È anche possibile inserire una password in Azure Key Vault ed eseguire il pull della configurazione password dalla stringa di connessione. Per altri dettagli, vedere gli esempi seguenti e Archiviare le credenziali in Azure Key Vault. Tipo di connessione supportato: è possibile usare Amazon RDS per Oracle SID o Amazon RDS per Oracle Service Name per identificare il database: - Se si usa il 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>; Per le opzioni avanzate di connessione nativa amazon RDS per Oracle, è possibile scegliere di aggiungere una voce in TNSNAMES. File ORA nel server Amazon RDS per Oracle e in Amazon RDS per il servizio collegato Oracle scegliere di usare il tipo di connessione Amazon RDS per Il nome del servizio Oracle e configurare il nome del servizio corrispondente. |
Sì |
connectVia | Runtime di integrazione da usare per la connessione all'archivio dati. Per altre informazioni, vedere la sezione Prerequisiti. Se questa proprietà non è specificata, viene usato il tipo Azure Integration Runtime predefinito. | NO |
Se si dispone di più istanze di Amazon RDS per oracle per lo scenario di failover, è possibile creare Amazon RDS per il servizio collegato Oracle e compilare l'host primario, la porta, il nome utente, la password e così via e aggiungere una nuova "Proprietà di connessione aggiuntive" con il nome della proprietà come AlternateServers
e il valore , (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>)
senza perdere le parentesi quadre e prestare attenzione ai due punti (:
) come separatore. Ad esempio, il valore seguente di server alternativi definisce due server di database alternativi per il failover di connessione: (HostName=AccountingAmazonRdsForOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany)
.
Altre proprietà di connessione che è possibile impostare nella stringa di connessione in base al caso:
Proprietà | Descrizione | Valori consentiti |
---|---|---|
ArraySize | Numero di byte che il connettore può recuperare in un singolo round trip di rete. Ad esempio: ArraySize=10485760 .I valori più grandi aumentano la velocità effettiva riducendo il numero di volte in cui recuperare i dati in rete. I valori più piccoli aumentano il tempo di risposta, in quanto si verifica un ritardo in attesa che il server trasmetta i dati. |
Numero intero compreso tra 1 e 4294967296 (4 GB). Il valore predefinito è 60000 . Il valore 1 non definisce il numero di byte, ma indica l'allocazione dello spazio per esattamente una riga di dati. |
Per abilitare la crittografia nella connessione Amazon RDS per Oracle, sono disponibili due opzioni:
Per usare Triple-DES Encryption (3DES) e Advanced Encryption Standard (AES), sul lato server Amazon RDS per Oracle passare a Oracle Advanced Security (OAS) e configurare le impostazioni di crittografia. Per informazioni dettagliate, vedere la documentazione Oracle. Il connettore Amazon RDS for Oracle Application Development Framework (ADF) negozia automaticamente il metodo di crittografia per usare quello configurato in OAS quando si stabilisce una connessione ad Amazon RDS per Oracle.
Per usare TLS:
Ottenere le informazioni sul certificato TLS/SSL. Ottenere le informazioni sul certificato con codifica DER (Distinguished Encoding Rules) del certificato TLS/SSL e salvare l'output (----- Begin Certificate ... End Certificate -----) come file di testo.
openssl x509 -inform DER -in [Full Path to the DER Certificate including the name of the DER Certificate] -text
Esempio: estrarre informazioni sul certificato da DERcert.cer e quindi salvare l'output in cert.txt.
openssl x509 -inform DER -in DERcert.cer -text Output: -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX -----END CERTIFICATE-----
Compilare o
keystore
truststore
. Il comando seguente crea iltruststore
file, con o senza password, in 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
Esempio: creare un file PKCS12
truststore
denominato MyTrustStoreFile con una password.openssl pkcs12 -in cert.txt -out MyTrustStoreFile -passout pass:ThePWD -nokeys -export
Posizionare il
truststore
file nel computer del runtime di integrazione self-hosted. Ad esempio, posizionare il file in C:\MyTrustStoreFile.Nel servizio configurare Amazon RDS per Oracle stringa di connessione con
EncryptionMethod=1
e il valore corrispondenteTrustStore
/TrustStorePassword
. Ad esempio:Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>
.
Esempio:
{
"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"
}
}
}
Esempio: archiviare la password in 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"
}
}
}
Proprietà del set di dati
Questa sezione fornisce un elenco delle proprietà supportate dal set di dati Amazon RDS per Oracle. Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere Set di dati.
Per copiare dati da Amazon RDS per Oracle, impostare la proprietà type del set di dati su AmazonRdsForOracleTable
. Sono supportate le proprietà seguenti.
Proprietà | Descrizione | Richiesto |
---|---|---|
tipo | La proprietà type del set di dati deve essere impostata su AmazonRdsForOracleTable . |
Sì |
schema | Nome dello schema. | NO |
tabella | Nome della tabella/vista. | NO |
nomeTabella | Nome della tabella/vista con schema. Questa proprietà è supportata per garantire la compatibilità con le versioni precedenti. Per i nuovi carichi di lavoro, usare schema e table . |
NO |
Esempio:
{
"name": "AmazonRdsForOracleDataset",
"properties":
{
"type": "AmazonRdsForOracleTable",
"schema": [],
"typeProperties": {
"schema": "<schema_name>",
"table": "<table_name>"
},
"linkedServiceName": {
"referenceName": "<Amazon RDS for Oracle linked service name>",
"type": "LinkedServiceReference"
}
}
}
Proprietà dell'attività di copia
Questa sezione fornisce un elenco delle proprietà supportate dall'origine Amazon RDS per Oracle. Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline.
Amazon RDS per Oracle come origine
Suggerimento
Per caricare i dati da Amazon RDS per Oracle in modo efficiente usando il partizionamento dei dati, vedere Copia parallela da Amazon RDS per Oracle.
Per copiare dati da Amazon RDS per Oracle, impostare il tipo di origine nell'attività di copia su AmazonRdsForOracleSource
. Nella sezione source dell'attività di copia sono supportate le proprietà seguenti.
Proprietà | Descrizione | Richiesto |
---|---|---|
tipo | La proprietà type dell'origine dell'attività di copia deve essere impostata su AmazonRdsForOracleSource . |
Sì |
oracleReaderQuery | Usare la query SQL personalizzata per leggere i dati. Un esempio è "SELECT * FROM MyTable" .Quando si abilita il carico partizionato, è necessario associare tutti i parametri di partizione predefiniti corrispondenti nella query. Per esempi, vedere la sezione Copia parallela da Amazon RDS per Oracle . |
NO |
convertiDecimaleInIntero | Amazon RDS per il tipo ORACLE NUMBER con scala zero o non specificata verrà convertito in integer corrispondente. I valori consentiti sono true e false (impostazione predefinita). Se si usa Amazon RDS per Oracle versione 2.0, questa proprietà potrà essere impostata solo quando supportV1DataTypes è true. |
NO |
opzioniDiPartizione | Specifica le opzioni di partizionamento dei dati usate per caricare i dati da Amazon RDS per Oracle. Valori consentiti: None (predefinito), PhysicalPartitionsOfTable e DynamicRange. Quando un'opzione di partizione è abilitata (ovvero , non None ), il grado di parallelismo per caricare simultaneamente i dati da un database Amazon RDS per Oracle viene controllato dall'impostazione nell'attività parallelCopies di copia. |
NO |
impostazioni di partizione | Specifica il gruppo di impostazioni per il partizionamento dei dati. Applicare quando l'opzione di partizione non è None . |
NO |
nomi delle partizioni | Elenco di partizioni fisiche da copiare. Si applica quando l'opzione di partizione è PhysicalPartitionsOfTable . Se si usa una query per recuperare i dati di origine, associare ?AdfTabularPartitionName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Amazon RDS per Oracle . |
NO |
partitionColumnName | Specifica il nome della colonna di origine nel tipo Integer che verrà usata dal partizionamento dell'intervallo per la copia parallela. Se non specificato, la chiave primaria della tabella viene rilevata automaticamente e usata come colonna di partizione. Si applica quando l'opzione di partizione è DynamicRange . Se si usa una query per recuperare i dati di origine, associare ?AdfRangePartitionColumnName nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Amazon RDS per Oracle . |
NO |
limite superiore di partizione | Valore massimo della colonna di partizione da cui copiare i dati. Si applica quando l'opzione di partizione è DynamicRange . Se si usa una query per recuperare i dati di origine, associare ?AdfRangePartitionUpbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Amazon RDS per Oracle . |
NO |
limite inferiore di partizione | Valore minimo della colonna di partizione da cui copiare i dati. Si applica quando l'opzione di partizione è DynamicRange . Se si usa una query per recuperare i dati di origine, associare ?AdfRangePartitionLowbound nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Amazon RDS per Oracle . |
NO |
Esempio: copiare i dati usando una query di base senza partizione
"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 parallela da Amazon RDS per Oracle
Il connettore Amazon RDS per Oracle offre il partizionamento dei dati predefinito per copiare i dati da Amazon RDS per Oracle in parallelo. È possibile trovare le opzioni di partizionamento dei dati nella tabella Origine dell'attività Copy.
Quando si abilita la copia partizionata, il servizio esegue query parallele sull'origine Amazon RDS per Oracle per caricare i dati in base alle partizioni. Il grado di parallelismo è controllato dall'impostazione parallelCopies
sull'attività di copia. Ad esempio, se si imposta parallelCopies
su quattro, il servizio genera e esegue contemporaneamente quattro query in base all'opzione e alle impostazioni di partizione specificate e ogni query recupera una parte di dati dal database Amazon RDS per Oracle.
È consigliabile abilitare la copia parallela con il partizionamento dei dati, soprattutto quando si caricano grandi quantità di dati dal database Amazon RDS per Oracle. Di seguito sono riportate le configurazioni consigliate per i diversi scenari. Quando si copiano dati in un archivio dati basato su file, è consigliabile scrivere in una cartella come file multipli (specificare solo il nome della cartella); in tal caso, le prestazioni risultano migliori rispetto alla scrittura in un singolo file.
Sceneggiatura | Impostazioni consigliate |
---|---|
Caricamento completo da una tabella di grandi dimensioni, con partizioni fisiche. |
Opzione di partizione: partizioni fisiche della tabella. Durante l'esecuzione, il servizio rileva automaticamente le partizioni fisiche e copia i dati in base alle partizioni. |
Caricamento completo da una tabella di grandi dimensioni, senza partizioni fisiche, con una colonna di numeri interi per il partizionamento dei dati. |
Opzioni di partizione: partizione a intervalli dinamici. Colonna di partizione: specificare la colonna usata per il partizionamento dei dati. Se non è specificato, viene usata la colonna della chiave primaria. |
Caricare una grande quantità di dati usando una query personalizzata, con partizioni fisiche. |
Opzione di partizione: partizioni fisiche della tabella. Query: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause> .Nome partizione: specificare i nomi della partizione da cui copiare i dati. Se non specificato, il servizio rileva automaticamente le partizioni fisiche nella tabella specificata nel set di dati Amazon RDS per Oracle. Durante l'esecuzione, il servizio sostituisce ?AdfTabularPartitionName con il nome effettivo della partizione e invia ad Amazon RDS per Oracle. |
Caricare una grande quantità di dati usando una query personalizzata, senza partizioni fisiche, con una colonna di numeri interi per il partizionamento dei dati. |
Opzioni di partizione: partizione a intervalli dinamici. Query: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause> .Colonna di partizione: specificare la colonna usata per il partizionamento dei dati. È possibile partizionare la colonna con il tipo di dati Integer. 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. Durante l'esecuzione, il servizio sostituisce ?AdfRangePartitionColumnName , ?AdfRangePartitionUpbound e ?AdfRangePartitionLowbound con il nome di colonna e gli intervalli di valori effettivi per ogni partizione e invia ad Amazon RDS per Oracle. Ad esempio, se la colonna di partizione "ID" è impostata con il limite inferiore su 1 e il limite superiore su 80 e la copia parallela su 4, il servizio recupera i dati da 4 partizioni. Gli ID sono compresi tra [1, 20], [21, 40], [41, 60], e [61, 80], rispettivamente. |
Suggerimento
Quando si copiano dati da una tabella non partizionata, è possibile usare l'opzione di partizione "Intervallo dinamico" per eseguire il partizionamento su una colonna integer. Se i dati di origine non hanno tale tipo di colonna, è possibile sfruttare la funzione ORA_HASH nella query di origine per generare una colonna e usarla come colonna di partizione.
Esempio: eseguire una query con partizione fisica
"source": {
"type": "AmazonRdsForOracleSource",
"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 dinamici
"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>"
}
}
Mappatura dei tipi di dati per Amazon RDS su Oracle
Quando si copiano dati da e in Amazon RDS per Oracle, vengono usati i mapping dei tipi di dati provvisori seguenti all'interno del servizio. 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.
Tipo di dati Amazon RDS per Oracle | Tipo di dati del servizio provvisorio (per la versione 2.0) | Tipo di dati del servizio provvisorio (per la versione 1.0) |
---|---|---|
BFILE | Byte[] | Byte[] |
BINARY_FLOAT | Singolo | Singolo |
BINARY_DOUBLE | Doppio | Doppio |
BLOB | Byte[] | Byte[] |
CHAR | Stringa | Stringa |
CLOB | Stringa | Stringa |
DATTERO | Data e ora | Data e ora |
FLOAT (P < 16) | Doppio | Doppio |
FLOAT (P >= 16) | Decimale | Doppio |
INTERVALLO DA ANNO A MESE | Int64 | Stringa |
INTERVALLO DA GIORNO A SECONDO | Intervallo di tempo | Stringa |
LUNGO | Stringa | Stringa |
LONG RAW | Byte[] | Byte[] |
NCHAR | Stringa | Stringa |
NCLOB | Stringa | Stringa |
NUMBER (p,s) - rappresenta un tipo di dato numerico, dove 'p' è la precisione e 's' è la scala. | Int16, Int32, Int64, Double, Single, Decimal | Decimal, String (se p > 28) |
NUMBER senza precisione e scala | Decimale | Doppio |
NVARCHAR2 | Stringa | Stringa |
CRUDO | Byte[] | Byte[] |
TIMESTAMP | Data e ora | Data e ora |
TIMESTAMP CON FUSO ORARIO LOCALE | Data e ora | Data e ora |
TIMESTAMP CON FUSO ORARIO | DateTimeOffset (struttura per gestire data e ora con fuso orario) | Data e ora |
VARCHAR2 | Stringa | Stringa |
XMLTYPE | Stringa | Stringa |
Nota
Number(p,s) viene mappato al tipo di dati del servizio provvisorio appropriato a seconda della precisione (p) e della scala (s).
Proprietà dell'attività Lookup
Per altre informazioni sulle proprietà, vedere Attività Lookup.
Aggiornare il connettore Amazon RDS per Oracle
Ecco i passaggi che consentono di aggiornare il connettore Amazon RDS per Oracle:
Nella pagina Modifica servizio collegato selezionare la versione 2.0 e configurare il servizio collegato facendo riferimento alle proprietà del servizio collegato versione 2.0.
Per le proprietà correlate all'autenticazione, inclusi nome utente e password, specificare i valori originali nei campi corrispondenti nella versione 2.0. Altre proprietà di connessione, ad esempio host, porta e Amazon RDS per Oracle Service Name/Amazon RDS per Oracle SID nella versione 1.0 sono ora parametri della
server
proprietà nella versione 2.0.Ad esempio, se si configura il servizio collegato versione 1.0, come illustrato di seguito:
{ "name": "AmazonRdsForOracleLinkedService", "properties": { "type": "AmazonRdsForOracle", "typeProperties": { "connectionString": "host=amazonrdsfororaclesample.com;port=1521;servicename=db1" }, "connectVia": { "referenceName": "<name of Integration Runtime>", "type": "IntegrationRuntimeReference" } } }
La configurazione identica del servizio collegato versione 2.0 che usa la denominazione 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 configurazione del servizio collegato versione 2.0 identica con Descrittore Connettore è:
{ "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" } } }
Suggerimento
Azure Key Vault è supportato per la proprietà
server
. È possibile modificare il codice JSON del servizio collegato per aggiungere il riferimento ad Azure Key Vault, come illustrato di seguito:
Tenere presente quanto segue:
Se si usa Il nome del servizio Oracle nella versione 1.0, è possibile usare Easy Connect (Plus) Naming or Connector Descriptor come formato del server nella versione 2.0.
Se si usa Oracle SID nella versione 1.0, è necessario usare Il descrittore connettore come formato server nella versione 2.0.
Per alcune proprietà di connessione aggiuntive nella versione 1.0, vengono fornite proprietà o parametri alternativi nella proprietà nella
server
versione 2.0. È possibile fare riferimento alla tabella seguente per aggiornare le proprietà della versione 1.0.Versione 1.0 Versione 2.0 metodo di crittografia PROTOCOL (parametro in server
)tnsnamesfile TNS_ADMIN (variabile di ambiente supportata nel runtime di integrazione self-hosted) nomeserver server informatico enablebulkload (abilita il caricamento massivo)
Valore: 1, 0enableBulkLoad
Valore: vero, falsofetchtswtzastimestamp
Valore: 1, 0fetchTswtzAsTimestamp
Valore: vero, falsoserver alternativo DESCRIPTION_LIST (parametro in server
)dimensione dell'array fetchSize limite cursore memorizzato nella cache dichiarazioneCacheSize conteggio tentativi di riconnessione RETRY_COUNT (parametro in server
)stringa di inizializzazione stringa di inizializzazione logintimeout CONNECT_TIMEOUT (parametro in server
)versione del protocollo crittografico SSL_VERSION (parametro in server
)truststore WALLET_LOCATION (parametro in server
)Ad esempio, se si usa
alternateservers
nella versione 1.0, è possibile impostare ilDESCRIPTION_LIST
parametro nella proprietà server nella versione 2.0:Versione 1.0 del servizio di collegamento utilizzando
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)" } } }
Versione 2.0 di servizio collegato identico utilizzando il parametro
DESCRIPTION_LIST
nel descrittore del connettore:{ "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>" } } }
Il mapping dei tipi di dati per Amazon RDS per il servizio collegato Oracle versione 2.0 è diverso da quello per la versione 1.0. Per scoprire il mapping dei tipi di dati più recente, vedere Mapping dei tipi di dati per Amazon RDS per Oracle.
Una proprietà
supportV1DataTypes
di connessione aggiuntiva nella versione 2.0 può ridurre le difficoltà di aggiornamento causate dalle modifiche al tipo di dati. L'impostazione di questa proprietà sutrue
garantisce che il tipo di dati nella versione 2.0 rimanga coerente con la versione 1.0.
Differenze tra Amazon RDS per Oracle versione 2.0 e versione 1.0
Amazon RDS for Oracle connector versione 2.0 offre nuove funzionalità ed è compatibile con la maggior parte delle funzionalità della versione 1.0. La tabella seguente illustra le differenze di funzionalità tra la versione 2.0 e la versione 1.0.
Versione 2.0 | Versione 1.0 |
---|---|
I seguenti mapping vengono usati da Amazon RDS per i tipi di dati Oracle ai tipi di dati intermedi usati internamente dal servizio. NUMERO(p,s) -> Int16, Int32, Int64, Double, Single, Decimal FLOAT(p)-> Double o Decimal in base alla sua precisione NUMERO -> Decimale TIMESTAMP CON FUSO ORARIO -> DateTimeOffset INTERVALLO ANNO A MESE -> Int64 INTERVALLO DA GIORNO A SECONDO -> Intervallo di Tempo |
I seguenti mapping vengono usati da Amazon RDS per i tipi di dati Oracle ai tipi di dati intermedi usati internamente dal servizio. NUMBER(p,s) -> Decimal o String in base alla precisione FLOAT(p)-> Doppio NUMBER -> Doppio TIMESTAMP CON FUSO ORARIO -> DateTime INTERVALLO ANNO A MESE -> String INTERVAL DAY TO SECOND -> String |
Supporto di convertDecimalToInteger nell'origine di copia quando supportV1DataTypes è impostato su true . |
Supporto di convertDecimalToInteger nell'origine di copia. |
Supportare TLS 1.3. | TLS 1.3 non è supportato. |
Contenuto correlato
Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia, vedere Archivi dati supportati.