Introduzione ai trasferimenti di dati Oracle
Puoi caricare i dati dal tuo database Oracle a BigQuery utilizzando BigQuery Data Transfer Service per il connettore Oracle. Questo documento fornisce opzioni di configurazione per il trasferimento Oracle e informazioni sulla mappatura dei tipi di dati e sul trasferimento dei metadati.
Per scoprire come pianificare un trasferimento Oracle, consulta Caricare 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 tramite il 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 connetti corrisponda esattamente al nome comune (CN) o a un nome alternativo del soggetto (SAN) sul certificato del server. Questa modalità impedisce agli autori di attacchi di utilizzare un certificato valido per un dominio diverso per impersonare il tuo server di database.
Se il nome host non corrisponde al CN o al SAN del certificato, la connessione non va a buon fine. 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 prevenire attacchi man-in-the-middle (MITM).
La modalità Cripta i dati e verifica solo la CA. Questa modalità cripta tutti i dati utilizzando TLS sul protocollo TCPS e verifica che il certificato del server sia firmato da una CA considerata attendibile dal client. 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 di certificati o nomi host.
Questa modalità fornisce un certo livello di sicurezza proteggendo i dati in transito, ma può essere vulnerabile agli attacchi PITM.
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 di certificati o nomi host. Tutti i dati vengono inviati come testo normale.
Sconsigliamo di utilizzare questa modalità in un ambiente in cui vengono gestiti dati sensibili. Consigliamo di utilizzare questa modalità solo per scopi 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 CA e nome host o la modalità Cripta i dati e verifica CA, puoi anche fornire uno o più certificati codificati in formato 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 validi con codifica PEM.
- Il certificato deve essere completamente corretto. Eventuali certificati mancanti nella catena o contenuti errati causano l'errore della connessione TLS.
- Per un singolo certificato, puoi fornire un unico 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 l'opzione 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 tuoi set di dati Oracle a ogni trasferimento di dati.In alternativa, puoi configurare un trasferimento dei dati incrementale (anteprima) per trasferire solo i dati modificati dall'ultimo trasferimento, anziché caricare l'intero set di dati a ogni trasferimento. Se selezioni Incrementale per il trasferimento dei dati, devi specificare le modalità di scrittura Aggiungi o Upsert per definire come vengono scritti i dati in BigQuery durante un trasferimento incrementale dei dati. Le sezioni seguenti descrivono le modalità di scrittura disponibili.
Modalità di scrittura di accodamento
La modalità di scrittura di accodamento 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. Per consentire al connettore Oracle di monitorare le modifiche nella tabella di origine, è necessaria una colonna filigrana.
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 colonnaCREATED_AT.
Modalità di scrittura upsert
La modalità di scrittura upsert aggiorna una riga o ne inserisce una nuova nella tabella di destinazione controllando una chiave primaria. Puoi specificare una chiave primaria per consentire al connettore Oracle di determinare le modifiche necessarie per mantenere la tabella di destinazione aggiornata con la tabella di origine. Se la chiave primariaa 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à di upsert, devi selezionare una colonna watermark e una chiave primaria:
- Per consentire al connettore Oracle di monitorare le modifiche nella tabella di origine, è necessaria una colonna filigrana.
- Seleziona una colonna filigrana che si aggiorni ogni volta che una riga viene modificata. Ti consigliamo colonne simili a
UPDATED_AToLAST_MODIFIED.
- Seleziona una colonna filigrana che si aggiorni ogni volta che una riga viene modificata. Ti consigliamo colonne simili a
La chiave primaria può essere una o più colonne della tabella necessarie al connettore Oracle per 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 colonne che includono identificatori generati dal sistema, codici di riferimento univoci (ad esempio ID a incremento automatico) o ID sequenza basati sul tempo immutabili.
Per evitare potenziali perdite o danneggiamenti dei dati, le colonne della chiave primaria che selezioni devono avere valori univoci. Se hai dubbi sull'unicità della colonna della chiave primaria che hai scelto, 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 incrementali dei dati da queste tabelle vengono riflessi in BigQuery nei seguenti modi:
| Modifiche all'origine dati | Comportamento di importazione incrementale |
|---|---|
| Aggiungere una nuova colonna | Viene aggiunta una nuova colonna alla tabella BigQuery di destinazione. Tutti i record precedenti per questa colonna avranno valori null. |
| Eliminare una colonna | La colonna eliminata rimane nella tabella BigQuery di destinazione. Le nuove voci di questa colonna eliminata vengono popolate con valori null. |
| Modificare il 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 trasferimento dei dati.
In caso di problemi, ti consigliamo di creare una nuova configurazione del 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. |
Mappatura dei tipi di dati
La seguente tabella mappa i 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 saperne di più, consulta Caricare i metadati Oracle in Knowledge Catalog.Prezzi
Per informazioni sui prezzi dei trasferimenti Oracle, consulta la pagina Prezzi di Data Transfer Service.
Passaggi successivi
- Scopri di più sulla configurazione di un trasferimento Oracle.
- Scopri di più su BigQuery Data Transfer Service.