Pianificare un trasferimento Oracle
Il connettore BigQuery Data Transfer Service per Oracle consente di pianificare e gestire automaticamente i job di caricamento ricorrenti da Oracle in BigQuery.
Limitazioni
I trasferimenti di Oracle sono soggetti alle seguenti limitazioni:
- Il numero massimo di connessioni simultanee a un database Oracle è limitato e, di conseguenza, il numero di esecuzioni di trasferimento simultanee a un singolo database Oracle è limitato a questo valore massimo.
- Devi configurare un'associazione di rete nei casi in cui non sia disponibile un IP pubblico per una connessione al database Oracle, con i seguenti requisiti:
- L'origine dati deve essere accessibile dalla subnet in cui risiede l'attacco alla rete.
- Il collegamento di rete non deve trovarsi nella subnet nell'intervallo
240.0.0.0/24
. - I collegamenti di rete non possono essere eliminati se sono presenti connessioni attive al collegamento. Per eliminare un collegamento di rete, contatta l'assistenza clienti Google Cloud.
- Per la regione multipla
us
, il collegamento di rete deve trovarsi nella regioneus-central1
. Per la regione multiplaeu
, il collegamento di rete deve trovarsi nella regioneeurope-west4
.
- La console Google Cloud supporta solo l'utilizzo del
NORMAL
ruolo utente Oracle per collegare Oracle a BigQuery Data Transfer Service. Devi utilizzare l'interfaccia a riga di comando BigQuery per collegarti utilizzando i ruoli utente OracleSYSDBA
eSYSOPER
. - L'intervallo di tempo minimo tra i trasferimenti ricorrenti di Oracle è di 15 minuti. L'intervallo predefinito per un trasferimento ricorrente è di 24 ore.
- Se l'attacco di rete configurato e l'istanza della macchina virtuale (VM) si trovano in regioni diverse, potrebbe verificarsi il trasferimento di dati tra regioni quando trasferisci i dati da Oracle.
Prima di iniziare
Le sezioni seguenti descrivono i passaggi da seguire prima di creare un trasferimento Oracle.
Prerequisiti di Oracle
- Crea una credenziale utente nel database Oracle.
- Concedi all'utente i privilegi di sistema
Create Session
per consentire la creazione di sessioni. - Assegna un tablespace all'account utente.
Quando crei un trasferimento Oracle, devi disporre anche delle seguenti informazioni sul database Oracle.
Nome parametro | Descrizione |
---|---|
database |
Nome del database. |
host |
Nome host o indirizzo IP del database. |
port |
Numero di porta del database. |
username |
Nome utente per accedere al database. |
password |
Password per accedere al database. |
connectionType |
Il tipo di connessione. Può essere |
oracleObjects |
Elenco di oggetti Oracle da trasferire. |
Prerequisiti di BigQuery
- Verifica di aver completato tutte le azioni necessarie per abilitare BigQuery Data Transfer Service.
- Crea un set di dati BigQuery per archiviare i dati.
- Se intendi configurare le notifiche di esecuzione del trasferimento per Pub/Sub, assicurati di disporre dell'autorizzazione
pubsub.topics.setIamPolicy
Identity and Access Management (IAM). Le autorizzazioni Pub/Sub non sono necessarie se configuri solo le notifiche via email. Per ulteriori informazioni, consulta Notifiche di esecuzione di BigQuery Data Transfer Service.
Ruoli BigQuery obbligatori
Per ottenere le autorizzazioni necessarie per creare un trasferimento,
chiedi all'amministratore di concederti il ruolo IAM Amministratore BigQuery (roles/bigquery.admin
).
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un trasferimento. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare un trasferimento sono necessarie le seguenti autorizzazioni:
-
bigquery.transfers.update
sull'utente -
bigquery.datasets.get
nel set di dati di destinazione -
bigquery.datasets.update
nel set di dati di destinazione
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Configurare un trasferimento di dati Oracle
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina Trasferimenti dati nella console Google Cloud.
Fai clic su
Crea trasferimento.Nella sezione Tipo di origine, per Origine, seleziona Oracle.
Nella sezione Dettagli origine dati, segui questi passaggi:
- Per Collegamento di rete, seleziona un collegamento di rete esistente o fai clic su Crea collegamento di rete.
- In Host, inserisci il nome host o l'IP del database.
- In Porta, inserisci il numero di porta utilizzato dal database Oracle per le connessioni in entrata, ad esempio
1520
. - In Nome database, inserisci il nome del database Oracle.
- In Tipo di connessione, inserisci il tipo di URL di connessione,
SERVICE
,SID
oTNS
. - In Nome utente, inserisci il nome utente dell'utente che avvia la connessione al database Oracle.
- In Password, inserisci la password dell'utente che avvia la connessione al database Oracle.
Per gli oggetti Oracle da trasferire, fai clic su SFOGLIA per selezionare le eventuali tabelle da trasferire al set di dati di destinazione BigQuery. In questo campo puoi anche inserire manualmente gli oggetti da includere nel trasferimento di dati.
Nella sezione Impostazioni destinazione, per Set di dati, seleziona il set di dati che hai creato per archiviare i dati.
Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il trasferimento di dati.
Nella sezione Opzioni di pianificazione:
- Nell'elenco Frequenza di ripetizione, seleziona un'opzione per specificare la frequenza con cui viene eseguito questo trasferimento di dati. Per specificare una frequenza di ripetizione personalizzata, seleziona Personalizzata. Se selezioni On demand, questo trasferimento viene eseguito quando attivi manualmente il trasferimento.
- Se applicabile, seleziona Inizia ora o Inizia all'ora impostata e fornisci una data di inizio e un'ora di esecuzione.
Nel menu Account di servizio, seleziona un account di servizio associato al tuo progetto Google Cloud. Il service account selezionato deve avere i ruoli richiesti per eseguire questo trasferimento di dati.
Se hai eseguito l'accesso con un'identità federata, è necessario un service account per creare un trasferimento di dati. Se hai eseguito l'accesso con un Account Google, il service account per il trasferimento è facoltativo. Per ulteriori informazioni sull'utilizzo dei service account con i trasferimenti di dati, consulta Utilizzare i service account.
(Facoltativo) Nella sezione Opzioni di notifica, segui questi passaggi:
- Per attivare le notifiche via email, fai clic sul pulsante di attivazione/disattivazione Notifica email. Quando attivi questa opzione, l'amministratore del trasferimento riceve una notifica via email quando l'esecuzione di un trasferimento non riesce.
- Per attivare le notifiche di esecuzione del trasferimento Pub/Sub per questo trasferimento, fai clic sul pulsante di attivazione/disattivazione Notifiche Pub/Sub. Puoi selezionare il nome del tuo argomento oppure fare clic su Crea un argomento per crearne uno.
Fai clic su Salva.
bq
Inserisci il comando bq mk
e specifica il flag di creazione del trasferimento
--transfer_config
:
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --data_source=DATA_SOURCE \ --display_name=DISPLAY_NAME \ --target_dataset=DATASET \ --params='PARAMETERS'
Dove:
- PROJECT_ID (facoltativo): il tuo Google Cloud ID progetto.
Se non viene fornito
--project_id
per specificare un determinato progetto, viene utilizzato il progetto predefinito. - DATA_SOURCE: l'origine dati
oracle
. - DISPLAY_NAME: il nome visualizzato per la configurazione del trasferimento. Il nome del trasferimento dati può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.
- DATASET: il set di dati di destinazione per la configurazione del trasferimento.
PARAMETERS: i parametri per la configurazione del trasferimento creata in formato JSON. Ad esempio:
--params='{"param":"param_value"}'
. Di seguito sono riportati i parametri per un trasferimento di dati Oracle:connector.networkAttachment
(facoltativo): nome dell'attacco di rete per connettersi al database Oracle.connector.authentication.Username
: nome utente dell'account Oracle.connector.authentication.Password
: password dell'account Oracle.connector.database
: il nome del database Oracle.connector.endpoint.host
: l'IP o il nome host del database.connector.endpoint.port
: il numero di porta utilizzato dal database Oracle per le connessioni in entrata, ad esempio1520
.connector.connectionType
: il tipo di URL di connessione,SERVICE
,SID
oTNS
.assets
: il percorso degli oggetti Oracle da trasferire a BigQuery, utilizzando il formato:DATABASE_NAME/SCHEMA_NAME/TABLE_NAME
Ad esempio, il seguente comando crea un trasferimento dati Oracle nel progetto predefinito con tutti i parametri richiesti:
bq mk \ --transfer_config \ --target_dataset=mydataset \ --data_source=oracle \ --display_name='My Transfer' \ --params='{"assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"], \ "connector.authentication.username": "User1", \ "connector.authentication.password":"ABC12345", \ "connector.database":"DB1", \ "Connector.endpoint.host":"192.168.0.1", \ "Connector.endpoint.port":"1520", \ "connector.connectionType":"SERVICE", \ "connector.networkAttachment": \ "projects/dev-project1/regions/us-central1/networkattachments/na1"}'
API
Utilizza il metodo projects.locations.transferConfigs.create
e fornisci un'istanza della risorsa TransferConfig
.
Mappatura dei tipi di dati
La tabella seguente 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) |
NUMERIC |
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 |
Risolvere i problemi di configurazione del trasferimento
Se hai problemi a configurare il trasferimento dei dati, consulta la sezione Problemi di trasferimento di Oracle.
Prezzi
Il trasferimento dei dati Oracle in BigQuery non prevede costi mentre questa funzionalità è in fase di anteprima.
Passaggi successivi
- Per una panoramica di BigQuery Data Transfer Service, consulta Introduzione a BigQuery Data Transfer Service.
- Per informazioni sull'utilizzo dei trasferimenti, tra cui come ottenere informazioni su una configurazione di trasferimento, elencare le configurazioni di trasferimento e visualizzare la cronologia di esecuzione di un trasferimento, consulta Utilizzare i trasferimenti.
- Scopri come caricare i dati con operazioni cross-cloud.