Introduzione ai trasferimenti di dati Oracle

Puoi caricare i dati dal tuo database Oracle a BigQuery utilizzando il BigQuery Data Transfer Service connettore per Oracle. Questo documento fornisce le opzioni di configurazione per il trasferimento Oracle e informazioni sul mapping dei tipi di dati e sul trasferimento dei metadati.

Per scoprire come pianificare un trasferimento Oracle, consulta Caricare i dati Oracle in BigQuery.

Opzioni di importazione dei dati

Le sezioni seguenti forniscono ulteriori informazioni sulle opzioni di importazione dati quando configuri un trasferimento di dati Oracle.

Configurazione TLS

Il connettore Oracle supporta la configurazione per la sicurezza a livello di trasporto (TLS) per criptare i trasferimenti di dati in BigQuery. Il connettore Oracle supporta le seguenti configurazioni TLS:

  • La modalità Cripta i dati e verifica l'autorità di certificazione e il nome host. Questa modalità esegue una convalida completa del server utilizzando TLS sul protocollo TCPS. Cripta tutti i dati in transito e verifica che il certificato del server di database sia firmato da un'autorità di certificazione (CA) attendibile. Questa modalità verifica anche che il nome host a cui ti stai connettendo corrisponda esattamente al nome comune (CN) o a un nome alternativo del soggetto (SAN) nel certificato del server. Questa modalità impedisce agli autori di attacchi di utilizzare un certificato valido per un dominio diverso per impersonare il server di database.

    Se il nome host non corrisponde al CN o al SAN del certificato, la connessione non riesce. Devi configurare una risoluzione DNS in modo che corrisponda al certificato o utilizzare una modalità di sicurezza diversa. Utilizza questa modalità per l'opzione più sicura per impedire attacchi man-in-the-middle (MITM).

  • La modalità Cripta i dati e verifica solo l'autorità di certificazione. Questa modalità cripta tutti i dati utilizzando TLS sul protocollo TCPS e verifica che il certificato del server sia firmato da una CA di cui il client si fida. Tuttavia, questa modalità non verifica il nome host del server. Questa modalità si connette correttamente purché il certificato sia valido ed emesso da una CA attendibile, indipendentemente dal fatto che il nome host nel certificato corrisponda al nome host a cui ti stai connettendo.

    Utilizza questa modalità se vuoi assicurarti di connetterti a un server il cui certificato è firmato da una CA attendibile, ma il nome host non è verificabile o non hai il controllo sulla configurazione del nome host.

  • La modalità Solo crittografia. Questa modalità cripta tutti i dati trasferiti tra il client e il server utilizzando la crittografia di rete nativa di Oracle sulla porta TCP standard. Non esegue alcuna convalida del certificato o del nome host.

    Questa modalità fornisce un certo livello di sicurezza proteggendo i dati in transito, ma può essere vulnerabile agli attacchi MITM.

    Utilizza questa modalità se devi assicurarti che tutti i dati siano criptati, ma non puoi o non vuoi verificare l'identità del server. Ti consigliamo di utilizzare questa modalità quando lavori con VPC privati.

  • La modalità Nessuna crittografia o verifica. Questa modalità non cripta alcun dato e non esegue alcuna verifica del certificato o del nome host. Tutti i dati vengono inviati come testo normale.

    Non consigliamo di utilizzare questa modalità in un ambiente in cui vengono gestiti dati sensibili. Consigliamo di utilizzare questa modalità solo a scopo di test su una rete isolata in cui la sicurezza non è un problema.

Certificato del server attendibile (PEM)

Se utilizzi la modalità Cripta i dati e verifica l'autorità di certificazione e il nome host o la modalità Cripta i dati e verifica l'autorità di certificazione, puoi anche fornire uno o più certificati con codifica PEM. Questi certificati sono necessari in alcuni scenari in cui BigQuery Data Transfer Service deve verificare l'identità del server di database durante la connessione TLS:

  • Se utilizzi un certificato firmato da una CA privata all'interno della tua organizzazione o un certificato autofirmato, devi fornire la catena di certificati completa o il singolo certificato autofirmato. Questo è necessario per i certificati emessi dalle CA interne dei servizi di provider di cloud gestiti, come Amazon Relational Database Service (RDS).
  • Se il certificato del server di database è firmato da una CA pubblica (ad esempio, Let's Encrypt, DigiCert o GlobalSign), non devi fornire un certificato. I certificati radice per queste CA pubbliche sono preinstallati e considerati attendibili da BigQuery Data Transfer Service.

Puoi specificare i certificati con codifica PEM nel campo Certificato PEM attendibile nella configurazione del trasferimento, con i seguenti requisiti:

  • Il certificato deve essere una catena di certificati valida con codifica PEM.
  • Il certificato deve essere completamente corretto. Eventuali certificati mancanti nella catena o contenuti errati causano il mancato funzionamento della connessione TLS.
  • Per un singolo certificato, puoi fornire un singolo certificato autofirmato dal server di database.
  • Per una catena di certificati completa emessa da una CA privata, devi fornire la catena di attendibilità completa. Sono inclusi il certificato del server di database e tutti i certificati CA intermedi e radice.

Trasferimenti completi o incrementali

Puoi specificare come caricare i dati in BigQuery selezionando la preferenza di scrittura Completa o Incrementale nella configurazione del trasferimento quando configuri un trasferimento Oracle. I trasferimenti incrementali sono supportati in anteprima.

Puoi configurare un trasferimento di dati completo per trasferire tutti i dati dai set di dati Oracle a ogni trasferimento di dati.

In alternativa, puoi configurare un trasferimento di dati incrementale ([Anteprima](https://cloud.google.com/products#product-launch-stages)) per trasferire solo i dati modificati dall'ultimo trasferimento di dati, anziché caricare l'intero set di dati a ogni trasferimento di dati. Se selezioni Incrementale per il trasferimento di dati, devi specificare le modalità di scrittura Aggiungi o Esegui upsert per definire come vengono scritti i dati in BigQuery durante un trasferimento di dati incrementale. Le sezioni seguenti descrivono le modalità di scrittura disponibili.

Modalità di scrittura Aggiungi

La modalità di scrittura Aggiungi inserisce solo nuove righe nella tabella di destinazione. Questa opzione aggiunge rigorosamente i dati trasferiti senza verificare la presenza di record esistenti, pertanto questa modalità può potenzialmente causare la duplicazione dei dati nella tabella di destinazione.

Quando selezioni la modalità di aggiunta, devi selezionare una colonna watermark. È necessaria una colonna watermark affinché il connettore Oracle possa monitorare le modifiche nella tabella di origine.

Per i trasferimenti Oracle, ti consigliamo di selezionare una colonna che viene aggiornata solo quando è stato creato il record e non cambia con gli aggiornamenti successivi, ad esempio la colonna CREATED_AT.

Modalità di scrittura Esegui upsert

La modalità di scrittura Esegui upsert aggiorna una riga o inserisce una nuova riga nella tabella di destinazione verificando la presenza di una chiave primaria. Puoi specificare una chiave primaria per consentire al connettore Oracle di determinare le modifiche necessarie per mantenere aggiornata la tabella di destinazione con la tabella di origine. Se la chiave primaria specificata è presente nella tabella BigQuery di destinazione durante un trasferimento di dati, il connettore Oracle aggiorna la riga con i nuovi dati della tabella di origine. Se una chiave primaria non è presente durante un trasferimento di dati, il connettore Oracle inserisce una nuova riga.

Quando selezioni la modalità Esegui upsert, devi selezionare una colonna watermark e una chiave primaria:

  • È necessaria una colonna watermark affinché il connettore Oracle possa monitorare le modifiche nella tabella di origine.
    • Seleziona una colonna watermark che si aggiorna ogni volta che una riga viene modificata. Ti consigliamo di utilizzare colonne simili alla colonna UPDATED_AT o LAST_MODIFIED.
  • La chiave primaria può essere una o più colonne della tabella necessarie affinché il connettore Oracle possa determinare se deve inserire o aggiornare una riga.

    Seleziona le colonne che contengono valori non nulli univoci in tutte le righe della tabella. Ti consigliamo di utilizzare colonne che includono identificatori generati dal sistema, codici di riferimento univoci (ad esempio, ID a incremento automatico) o ID di sequenza basati sul tempo immutabili.

    Per evitare potenziali perdite o danneggiamenti dei dati, le colonne della chiave primaria selezionate devono avere valori univoci. Se hai dubbi sull'univocità della colonna della chiave primaria scelta, ti consigliamo di utilizzare la modalità di scrittura Aggiungi.

Comportamento di importazione incrementale

Quando apporti modifiche allo schema della tabella nell'origine dati, i trasferimenti di dati incrementali da queste tabelle vengono riportati in BigQuery nei seguenti modi:

Modifiche all'origine dati Comportamento di importazione incrementale
Aggiunta di una nuova colonna Una nuova colonna viene aggiunta alla tabella BigQuery di destinazione. Tutti i record precedenti per questa colonna avranno valori nulli.
Eliminazione di una colonna La colonna eliminata rimane nella tabella BigQuery di destinazione. Le nuove voci di questa colonna eliminata vengono compilate con valori nulli.
Modifica del tipo di dati in una colonna Il connettore supporta solo le conversioni dei tipi di dati supportate dall'istruzione DDL ALTER COLUMN. Qualsiasi altra conversione del tipo di dati causa il mancato funzionamento del trasferimento di dati.

Se riscontri problemi, ti consigliamo di creare una nuova configurazione di trasferimento.

Ridenominazione di una colonna La colonna originale rimane nella tabella BigQuery di destinazione così com'è, mentre alla tabella di destinazione viene aggiunta una nuova colonna con il nome aggiornato.

Mapping dei tipi di dati

La tabella seguente esegue il mapping dei tipi di dati Oracle ai tipi di dati BigQuery corrispondenti:

Tipo di dati Oracle Tipo di dati BigQuery
BFILE BYTES
BINARY_DOUBLE FLOAT
BINARY_FLOAT FLOAT
BLOB BYTES
CHAR STRING
CLOB STRING
DATE DATETIME
FLOAT FLOAT
INTERVAL DAY TO SECOND STRING
INTERVAL YEAR TO MONTH STRING
LONG STRING
LONG RAW BYTES
NCHAR STRING
NCLOB STRING
NUMBER (without precision and scale) STRING
NUMBER (with precision and scale lower than the BigQuery Numeric range) NUMERIC
NUMBER (with precision and scale lower than the BigQuery BigNumeric range) BIGNUMERIC
NUMBER (with precision and scale greater than the BigQuery BigNumeric range) STRING
NVARCHAR2 STRING
RAW BYTES
ROWID STRING
TIMESTAMP DATETIME
TIMESTAMP WITH LOCAL TIME ZONE DATETIME
TIMESTAMP WITH TIME ZONE TIMESTAMP
UROWID STRING
VARCHAR STRING
VARCHAR2 STRING

Trasferire i metadati

Puoi anche utilizzare il connettore Oracle per trasferire i metadati a Knowledge Catalog. Per ulteriori informazioni, consulta Caricare i metadati Oracle in Knowledge Catalog.

Prezzi

Per informazioni sui prezzi dei trasferimenti Oracle, consulta Prezzi di Data Transfer Service.

Passaggi successivi