Oracle DB (versione 2)
Il connettore Oracle DB consente di connettersi a un'istanza di database Oracle (versione 11.2 o successive) ed eseguire le operazioni di database supportate.
Prima di iniziare
Prima di utilizzare il connettore del database Oracle, svolgi le seguenti attività:
- Nel tuo progetto Google Cloud:
- Concedi il ruolo IAM roles/connectors.admin all'utente. configurazione del connettore.
- Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per il connettore:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Un account di servizio è un tipo speciale di Account Google destinato a rappresentare una persona non umana utente che deve autenticarsi e avere l'autorizzazione ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, consulta Creare un account di servizio.
- Attiva i seguenti servizi:
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Per informazioni su come abilitare i servizi, vedi Attivazione dei servizi.
Se questi servizi o autorizzazioni non sono stati abilitati in precedenza per il tuo progetto, ti viene chiesto di abilitarli durante la configurazione del connettore.
Configura il connettore
Per configurare il connettore è necessario creare una connessione al tuo origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Ciò significa che se hai molte origini dati, devi creare una connessione distinta per ciascuna. Per creare una connessione:
- Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni, quindi seleziona o crea un progetto Google Cloud.
- Fai clic su + Crea nuovo per aprire la pagina Crea connessione.
- Nella sezione Posizione, scegli la località per la connessione.
- Regione: seleziona una località dall'elenco a discesa.
Per l'elenco di tutte le regioni supportate, consulta Località.
- Fai clic su Avanti.
- Regione: seleziona una località dall'elenco a discesa.
- Nella sezione Dettagli connessione, completa quanto segue:
- Connettore: seleziona Oracle DB dall'elenco a discesa dei connettori disponibili.
- Versione connettore: seleziona la versione 2 dall'elenco a discesa delle versioni disponibili.
- Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.
I nomi delle connessioni devono soddisfare i seguenti criteri:
- I nomi delle connessioni possono contenere lettere, numeri o trattini.
- Le lettere devono essere minuscole.
- I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
- I nomi delle connessioni non possono contenere più di 49 caratteri.
- Facoltativamente, inserisci una descrizione per l'istanza di connessione.
- Se vuoi, attiva Cloud Logging e poi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su
Error
. - Facoltativamente, seleziona Abilita Cloud Logging per abilitare Cloud Logging.
- Account di servizio: seleziona un account di servizio con i ruoli richiesti.
- Facoltativamente, configura le impostazioni del nodo di connessione:
- Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
- Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.
Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, al contrario, meno nodi per elaborare meno transazioni. Per capire in che modo i nodi influiscono sui prezzi dei connettori, consulta Prezzi per i nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una migliore disponibilità) e il numero massimo di nodi è impostato su 50.
- A seconda che la connessione Oracle DB utilizzi una connessione basata su server o la connettività TNS, specifica ServiceName o DataSource (stringa di connessione TNS). Se specifichi entrambi, viene utilizzato DataSource.
- ServiceName: se utilizzi l'autenticazione basata su server, specifica il nome del servizio insieme ai dettagli della destinazione.
-
DataSource: se utilizzi la connettività TNS, specifica Oracle Net Services Name, Connect Descriptor (noto anche come stringa di connessione TNS) o una denominazione di facile connessione che identifichi il database a cui connetterti. Non devi specificare i dettagli sulla destinazione. Utilizza il seguente formato per specificare la stringa di connessione TNS:
(DESCRIPTION=(ADDRESS=(protocol_address_information))(CONNECT_DATA= (SERVICE_NAME=service_name)))
.
- Se vuoi, seleziona Includi sinonimi.
- Timeout connessione abbandonata: inserisci il valore del timeout (in secondi) che specifica il tempo per il quale una connessione presa in prestito può rimanere inutilizzata prima di essere considerata abbandonata.
- Timeout connessione non attiva: inserisci il valore del timeout della connessione (in secondi).
- Tempo massimo di riutilizzo della connessione: inserisci il tempo di riutilizzo della connessione (in secondi).
- Timeout connessione TTL: inserisci il tempo massimo (in secondi) per cui la connessione può rimanere in uso.
- Schemi consultabili: inserisci i nomi degli schemi separati da virgole da utilizzare durante il recupero di entità e azioni. Ad esempio,
schemaA, schemaB, schemaC
. - Se vuoi, fai clic su + AGGIUNGI ETIQUETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
- Fai clic su AVANTI.
- Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
- Tipo di destinazione: seleziona un Tipo di destinazione.
- Seleziona Indirizzo host dall'elenco per specificare il nome host o l'indirizzo IP della destinazione.
- Se vuoi stabilire una connessione privata ai tuoi sistemi di backend, seleziona Collegamento endpoint dall'elenco, quindi seleziona il collegamento dell'endpoint richiesto. dall'elenco Allegato endpoint.
Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi valuta la possibilità di configurare una rete statica in uscita indirizzi IP per le tue connessioni, quindi configura le regole del firewall per inserire nella lista consentita solo gli indirizzi IP statici specifici.
Per inserire destinazioni aggiuntive, fai clic su + AGGIUNGI DESTINAZIONE.
- Fai clic su AVANTI.
- Tipo di destinazione: seleziona un Tipo di destinazione.
-
Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
La connessione Oracle DB supporta i seguenti tipi di autenticazione:
- Nome utente e password
- Fai clic su AVANTI.
Per capire come configurare questi tipi di autenticazione, consulta Configurare l'autenticazione.
- Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.
- Rivedi: controlla i dettagli di connessione e autenticazione.
- Fai clic su Crea.
Configura autenticazione
Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.
-
Nome utente e password
- Nome utente: nome utente dell'account Oracle utilizzato per l'autenticazione
- Password: il secret di Secret Manager contenente la password associata al nome utente dell'account Oracle.
Entità, operazioni e azioni
Tutti i connettori di integrazione forniscono un livello di astrazione per gli oggetti l'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione viene mostrata come entità, operazioni e azioni.
- Entità: un'entità può essere considerata un oggetto o una raccolta di proprietà nell'applicazione o nel servizio collegato. La definizione di un'entità varia da un connettore all'altro. Ad esempio, in un connettore di database, le tabelle sono le entità,
connettore file server, le cartelle sono le entità e, in un connettore del sistema di messaggistica,
le code sono le entità.
Tuttavia, è possibile che un connettore non supporti o non abbia entità, nel qual caso l'elenco
Entities
sarà vuoto. - Operazione: un'operazione è l'attività che puoi eseguire su un'entità. Puoi eseguire su un'entità una delle seguenti operazioni:
La selezione di un'entità dall'elenco disponibile genera un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta le operazioni sulle entità dell'attività Connettori. Tuttavia, se un connettore non supporta nessuna delle operazioni sulle entità, queste operazioni non supportate non sono elencate nell'elenco
Operations
. - Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione.
attraverso l'interfaccia del connettore. Un'azione ti consente di apportare modifiche a una o più entità e varia da un connettore all'altro. Normalmente, un'azione ha alcuni parametri di input e un output
. Tuttavia, è possibile
che un connettore non supporta alcuna azione, nel qual caso l'elenco
Actions
sarà vuoto.
Limitazioni del sistema
Il connettore Oracle DB può elaborare un massimo di 70 transazioni al secondo per nodo e limita le transazioni oltre questo limite. Per impostazione predefinita, Integration Connectors alloca due nodi (per una migliore disponibilità) per una connessione.
Per informazioni sui limiti applicabili a Integration Connectors, vedi Limiti.
Tipi di dati supportati
Di seguito sono riportati i tipi di dati supportati per questo connettore:
- GRANDE
- BINARIO
- BIT
- BOOLEANO
- CHAR
- DATA
- DECIMALE
- DOUBLE
- FLOAT
- INTEGER
- LONGN VARCHAR
- VARCAR LUNGO
- NCHAR
- NUMERICO
- NVARCHAR
- REAL
- INT PICCOLO
- TEMPO
- TIMESTAMP
- TINY INT
- VARBINARIO
- VARCHAR
Azioni
Il connettore Oracle DB consente di eseguire stored procedure, funzioni e query SQL personalizzate nel formato supportato dal tuo database Oracle. Per eseguire query SQL personalizzate, il connettore fornisce la casella Esegui query personalizzata un'azione.
Per creare una query personalizzata:
- Segui le istruzioni dettagliate per aggiungere un'attività di connettori.
- Quando configuri l'attività del connettore, seleziona Azioni nel tipo di azione che vuoi eseguire.
- Nell'elenco Azione, seleziona Esegui query personalizzata e poi fai clic su Fine.
- Espandi la sezione Input attività, quindi procedi nel seguente modo:
- Nel campo Timeout dopo, inserisci il numero di secondi di attesa prima che la query venga eseguita.
Valore predefinito:
180
secondi. - Nel campo Numero massimo di righe, inserisci il numero massimo di righe da restituire dal database.
Valore predefinito:
25
. - Per aggiornare la query personalizzata, fai clic su Modifica script personalizzato. Viene visualizzata la finestra di dialogo Editor di script.
- Nella finestra di dialogo Editor di script, inserisci la query SQL e fai clic su Salva.
Puoi utilizzare un punto interrogativo (?) in un'istruzione SQL per rappresentare un singolo parametro che deve essere specificato nell'elenco dei parametri di query. Ad esempio, la seguente query SQL seleziona tutte le righe della tabella
Employees
che corrispondono ai valori specificati per la colonnaLastName
:SELECT * FROM Employees where LastName=?
- Se hai utilizzato punti interrogativi nella query SQL, devi aggiungere il parametro facendo clic su + Aggiungi nome parametro per ogni punto interrogativo. Durante l'esecuzione dell'integrazione, questi parametri sostituiscono in modo sequenziale i punti interrogativi (?) nella query SQL. Ad esempio, se hai aggiunto tre punti di domanda (?), devi aggiungere tre parametri in ordine di sequenza.
Per aggiungere parametri di ricerca:
- Nell'elenco Tipo, seleziona il tipo di dati del parametro.
- Nel campo Valore, inserisci il valore del parametro.
- Per aggiungere più parametri, fai clic su + Aggiungi parametro di query.
- Nel campo Timeout dopo, inserisci il numero di secondi di attesa prima che la query venga eseguita.
Per capire come utilizzare l'azione di query personalizzata, consulta Esempi di azioni.
Esempi di azioni
Questa sezione descrive come eseguire alcune delle azioni in questo connettore.
Esempio - Eseguire una query di raggruppamento
- Nella finestra di dialogo Configura attività del connettore, seleziona Azioni.
- Seleziona l'azione Esegui query personalizzata e poi fai clic su Fine.
- Nella sezione Input attività dell'attività Connettori, fai clic su Modifica query personalizzata. Si apre la finestra di dialogo Query personalizzata.
- Nella finestra di dialogo Query personalizzata, inserisci la seguente query SQL e fai clic su Salva:
Select E.EMPLOYEE_ID, E.EMPLOYEE_NAME, E.CITY FROM EMPLOYEES E LEFT JOIN EMPLOYEE_DEPARTMENT ED ON E.EMPLOYEE_ID=ED.ID WHERE E.EMPLOYEE_NAME = 'John' GROUP BY E.CITY,E.EMPLOYEE_ID,E.EMPLOYEE_NAME
Questo esempio seleziona i record dei dipendenti dall'
EMPLOYEES
e le tabelleEMPLOYEE_DEPARTMENT
. Se l'azione va a buon fine, il parametro della rispostaconnectorOutputPayload
della task del connettore avrà il set di risultati della query.
Esempio: eseguire una query con parametri
- Nella finestra di dialogo Configura attività del connettore, seleziona Azioni.
- Seleziona l'azione Esegui query personalizzata, quindi fai clic su Fine.
- Nella sezione Input attività dell'attività Connettori, imposta i seguenti valori per il campo:
- Timeout dopo:
10
- Numero massimo di righe:
3
- Timeout dopo:
- Fai clic su + Aggiungi nome parametro per inserire i seguenti valori:
- Tipo:
VARCHAR
- Valore:
John
- Tipo:
- Fai clic su Modifica query personalizzata. Viene visualizzata la finestra di dialogo Query personalizzata.
- Nella finestra di dialogo Query personalizzata, inserisci la seguente query SQL e fai clic su Salva:
Select C.ID,C.NAME,C.CITY,C.O_DATE,E.EMPLOYEE_ID FROM customqueries C,Employees E WHERE C.ID=E.Employee_id and C.NAME=?
In questo esempio vengono selezionati i record dei dipendenti in cui il nome del dipendente è John
.
Tieni presente che il nome del dipendente è parametrizzato.
Se l'azione ha esito positivo,
risposta connectorOutputPayload
dell'attività del connettore
avrà un valore simile al seguente:
[{ "NAME": "John", "O_DATE": "2023-06-01 00:00:00.0", "EMPLOYEE_ID": 1.0 }, { "NAME": "John", "O_DATE": "2021-07-01 00:00:00.0", "EMPLOYEE_ID": 3.0 }, { "NAME": "John", "O_DATE": "2022-09-01 00:00:00.0", "EMPLOYEE_ID": 4.0 }]
Esempio: inserire un record utilizzando un valore di sequenza
- Nella finestra di dialogo Configura attività del connettore, seleziona Azioni.
- Seleziona l'azione Esegui query personalizzata, quindi fai clic su Fine.
- Nella finestra di dialogo Query personalizzata, inserisci la seguente query SQL e fai clic su Salva:
INSERT INTO AUTHOR(id,title) VALUES(author_table_id_seq.NEXTVAL,'Sample_book_title')
Questo esempio inserisce un record nella tabella AUTHOR
utilizzando
un oggetto sequenza author_table_id_seq
esistente. Se l'azione ha esito positivo,
risposta connectorOutputPayload
dell'attività del connettore
avrà un valore simile al seguente:
[{ }]
Esempio - Eseguire una query con una funzione aggregata
- Nella finestra di dialogo Configura attività connettore, seleziona Azioni.
- Seleziona l'azione Esegui query personalizzata, quindi fai clic su Fine.
- Nella finestra di dialogo Query personalizzata, inserisci la seguente query SQL e fai clic su Salva:
SELECT SUM(SALARY) as Total FROM EMPLOYEES
Questo esempio calcola il valore aggregato degli stipendi in
la tabella EMPLOYEES
. Se l'azione ha esito positivo,
risposta connectorOutputPayload
dell'attività del connettore
avrà un valore simile al seguente:
[{ "TOTAL": 13000.0 }]
Esempio: crea una nuova tabella
- Nella finestra di dialogo Configura attività connettore, seleziona Azioni.
- Seleziona l'azione Esegui query personalizzata, quindi fai clic su Fine.
- Nella finestra di dialogo Query personalizzata, inserisci la seguente query SQL e fai clic su Salva:
CREATE TABLE TEST1 (ID INT, NAME VARCHAR(40),DEPT VARCHAR(20),CITY VARCHAR(10))
Questo esempio crea la tabella TEST1
. Se l'azione va a buon fine, il parametro risposta connectorOutputPayload
della task del connettore avrà un valore simile al seguente:
[{ }]
Esempi di operazioni sulle entità
Esempio: elenca tutti i dipendenti
Questo esempio elenca tutti i dipendenti nell'entità Employee
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Employee
dall'elencoEntity
. - Seleziona l'operazione
List
e poi fai clic su Fine. - Facoltativamente, nella sezione Input attività dell'attività Connettori, puoi filtra il set di risultati specificando una clausola di filtro.
Esempio: ottieni i dettagli del dipendente
Questo esempio recupera i dettagli del dipendente il cui ID è 45 dall'entità Employee
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Employee
dall'elencoEntity
. - Seleziona l'operazione
Get
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su EntityId e
quindi inserisci
45
nel campo Valore predefinito.Qui,
45
è il valore della chiave primaria dell'entitàEmployee
.
Esempio: crea un record del dipendente
Questo esempio aggiunge un nuovo record di dipendente nell'entità Employee
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Employee
dall'elencoEntity
. - Seleziona l'operazione
Create
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nel campoDefault Value
:{ "EMPLOYEE_ID": 69.0, "EMPLOYEE_NAME": "John", "CITY": "Bangalore" }
Se l'integrazione è andata a buon fine, il campo
connectorOutputPayload
dell'attività del connettore avrà un valore simile al seguente:{ "ROWID": "AAAoU0AABAAAc3hAAF" }
Esempio: aggiornare il record di un dipendente
Questo esempio aggiorna il record del dipendente il cui ID è 69 nell'entità Employee
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Employee
dall'elencoEntity
. - Seleziona l'operazione
Update
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su
connectorInputPayload
e poi inserisci un valore simile al seguente nelDefault Value
campo:{ "EMPLOYEE_NAME": "John", "CITY": "Mumbai" }
- Fai clic su entityId e inserisci
69
nel campo Valore predefinito.In alternativa, anziché specificare entityId, puoi anche impostare filterClause su
69
.Se l'integrazione ha esito positivo, il campo
connectorOutputPayload
dell'attività del connettore avrà un simile al seguente:{ }
Esempio: eliminare un record di un dipendente
Questo esempio elimina il record dei dipendenti il cui ID è 35 nell'entità Employee
.
- Nella finestra di dialogo
Configure connector task
, fai clic suEntities
. - Seleziona
Employee
dall'elencoEntity
. - Seleziona l'operazione
Delete
e fai clic su Fine. - Nella sezione Input attività dell'attività Connettori, fai clic su entityId e poi inserisci
35
nel campo Valore predefinito.
Utilizzare Terraform per creare connessioni
Puoi utilizzare il comando Terraform risorsa per creare una nuova connessione.Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Per visualizzare un modello Terraform di esempio per la creazione di connessioni, vedi il modello di esempio.
Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione di Terraform:
Nome parametro | Tipo di dati | Obbligatorio | Descrizione |
---|---|---|---|
service_name | STRING | Falso | Il nome del servizio del database Oracle. |
data_source | STRING | Falso | Nome Oracle Net Services, descrittore di connessione (noto anche come stringa di connessione TNS) o un nome di connessione facile che identifica il database a cui connettersi. |
include_synonyms | BOOLEANO | Falso | Esegui query sui metadati per trovare i sinonimi e rendili disponibili come entità. L'impostazione della proprietà su false può aumentare le prestazioni dei metadati. |
abandoned_connection_timeout | INTEGER | Falso | Il timeout della connessione abbandonata (in secondi) determina per quanto tempo una connessione presa in prestito può rimanere inutilizzata prima che venga considerata abbandonata e recuperata dal pool di connessioni. |
inactive_connection_timeout | INTEGER | Falso | Il timeout della connessione inattiva (in secondi) determina per quanto tempo una connessione disponibile rimane nel pool di connessioni prima di essere rimossa dal pool. |
max_connection_reuse_time | INTEGER | Falso | Il tempo massimo di riutilizzo della connessione (in secondi) specifica il periodo di tempo massimo in cui è possibile riutilizzare qualsiasi connessione, dopodiché il pool rimuove e chiude una connessione. |
ttl_connection_timeout | INTEGER | Falso | Tempo massimo (in secondi) che una connessione può rimanere in uso. |
browsable_schemas | STRING | Falso | Schemi separati da virgole (ad es. SchemaA, SchemaB) da utilizzare per recuperare entità e azioni per la connessione. Utilizza lo schema dell'utente per impostazione predefinita |
Utilizzare la connessione Oracle DB in un'integrazione
Una volta creata, la connessione diventa disponibile sia nell'integrazione Apigee sia nell'integrazione delle applicazioni. Puoi usare la connessione in un'integrazione tramite l'attività Connettori.
- Per informazioni su come creare e utilizzare l'attività Connectors in Apigee Integration, consulta Attività Connectors.
- Per capire come creare e utilizzare l'attività Connettori in Application Integration, vedi Attività connettori.
Ricevere assistenza dalla community Google Cloud
Puoi pubblicare le tue domande e discutere di questo connettore in Google Cloud nei forum di Cloud.Passaggi successivi
- Scopri come sospendere e riprendere una connessione.
- Scopri come monitorare l'utilizzo dei connettori.
- Scopri come visualizzare i log del connettore.