Oracle DB (versione 2)

Il connettore Oracle DB ti consente di connetterti a un'istanza di database Oracle ed eseguire le operazioni di database supportate.

Versioni supportate

La versione minima supportata per questo connettore è Oracle Database 11.2.

Prima di iniziare

Prima di utilizzare il connettore Oracle DB, esegui le seguenti attività:

  • Nel tuo progetto Google Cloud:
    • Assicurati che la connettività di rete sia configurata. Per informazioni sui pattern di rete, consulta Connettività di rete.
    • Concedi il ruolo IAM roles/connectors.admin all'utente che configura il connettore.
    • Concedi i seguenti ruoli IAM al 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 un utente non umano che deve eseguire l'autenticazione ed essere autorizzato ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, vedi Creare un service account.

    • Attiva i seguenti servizi:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Per capire come abilitare i servizi, consulta Abilitazione dei servizi.

    Se questi servizi o queste autorizzazioni non sono stati attivati in precedenza per il tuo progetto, ti viene chiesto di attivarli durante la configurazione del connettore.

Configura il connettore

Una connessione è specifica per un'origine dati. Ciò significa che se hai molte origini dati, devi creare una connessione separata per ciascuna origine dati. Per creare una connessione:

  1. Nella console Cloud, vai alla pagina Integration Connectors > Connessioni e poi seleziona o crea un progetto Google Cloud.

    Vai alla pagina Connessioni

  2. Fai clic su + Crea nuovo per aprire la pagina Crea connessione.
  3. Nella sezione Località, scegli la località per la connessione.
    1. Regione: seleziona una località dall'elenco a discesa.

      Per l'elenco di tutte le regioni supportate, consulta Località.

    2. Fai clic su Avanti.
  4. Nella sezione Dettagli connessione, completa quanto segue:
    1. Connettore: seleziona Oracle DB dall'elenco a discesa dei connettori disponibili.
    2. Versione del connettore: seleziona la versione 2 dall'elenco a discesa delle versioni disponibili.
    3. 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.
    4. (Facoltativo) Inserisci una Descrizione per l'istanza di connessione.
    5. (Facoltativo) Abilita Cloud Logging, quindi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su Error.
    6. (Facoltativo) Seleziona Abilita Cloud Logging per attivare Cloud Logging.
    7. Service Account: seleziona un account di servizio con i ruoli richiesti.
    8. (Facoltativo) 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, viceversa, sono necessari meno nodi per elaborare meno transazioni. Per capire in che modo i nodi influiscono sui prezzi dei connettori, consulta la sezione Prezzi dei nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita i nodi minimi sono impostati su 2 (per una migliore disponibilità) e i nodi massimi su 50.

    9. A seconda che la connessione al database Oracle utilizzi la connessione basata sul 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 sul server, specifica il nome del servizio insieme ai dettagli della destinazione.
      • DataSource: se utilizzi la connettività TNS, specifica il nome di Oracle Net Services, il descrittore di connessione (noto anche come stringa di connessione TNS) o un nome di connessione facile che identifichi il database a cui connettersi. Utilizza il seguente formato per specificare la stringa di connessione TNS: (DESCRIPTION=(ADDRESS=(protocol_address_information))(CONNECT_DATA= (SERVICE_NAME=service_name))). Se specifichi l'origine dati, non devi specificare nuovamente i dettagli della destinazione nella sezione Destinazioni.
    10. (Facoltativo) Seleziona Includi sinonimi.
    11. Timeout connessione abbandonata: inserisci il valore di timeout (in secondi) che specifica per quanto tempo una connessione presa in prestito può rimanere inutilizzata prima di essere considerata abbandonata.
    12. Timeout di inattività della connessione: inserisci il valore di timeout della connessione (in secondi).
    13. Tempo massimo di riutilizzo della connessione: inserisci il tempo di riutilizzo della connessione (in secondi).
    14. Timeout connessione TTL: inserisci il tempo massimo (in secondi) in cui la connessione può rimanere in uso.
    15. Schemi sfogliabili: inserisci i nomi degli schemi separati da virgole da utilizzare per recuperare entità e azioni. Ad esempio, schemaA, schemaB, schemaC.
    16. (Facoltativo) Fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
    17. Fai clic su AVANTI.
  5. Nella sezione Destinazioni, inserisci i dettagli dell'host remoto (sistema di backend) a cui vuoi connetterti.
    1. Tipo di destinazione: seleziona un Tipo di destinazione.
      • Per specificare il nome host o l'indirizzo IP di destinazione, seleziona Indirizzo host e inserisci l'indirizzo nel campo Host 1.
      • Per stabilire una connessione privata, seleziona Collegamento endpoint e scegli il collegamento richiesto dall'elenco Collegamento endpoint.

      Se vuoi stabilire una connessione pubblica ai tuoi sistemi di backend con maggiore sicurezza, puoi valutare la possibilità di configurare indirizzi IP statici in uscita per le tue connessioni e poi configurare le regole del firewall in modo da consentire solo gli indirizzi IP statici specifici.

      Per inserire altre destinazioni, fai clic su +AGGIUNGI DESTINAZIONE.

    2. Fai clic su AVANTI.
  6. Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
    1. Seleziona un Tipo di autenticazione e inserisci i dettagli pertinenti.

      La connessione Oracle DB supporta i seguenti tipi di autenticazione:

      • Nome utente e password
    2. Per capire come configurare questi tipi di autenticazione, consulta Configurare l'autenticazione.

    3. Fai clic su AVANTI.
  7. Rivedi: rivedi i dettagli di connessione e autenticazione.
  8. Fai clic su Crea.

Configura l'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.

Tipo di connessione con autenticazione di base Oracle DB

La seguente tabella descrive i campi che puoi configurare per il tipo di connessione di autenticazione di base Oracle DB.

Nome campo Dettagli
Località us-central1
Connettore Oracle DB
Versione del connettore 2
Nome collegamento google-oracledb-plsql-new
Abilita Cloud Logging
Service account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Nome servizio pdb1
Numero minimo di nodi 2
Numero massimo di nodi 50
Indirizzo host 198.51.100.0
Porta 1521
Nome utente NOME UTENTE
Password PASSWORD
Versione secret 1

Tipo di connessione TNS di Oracle DB

La tabella seguente descrive i campi che puoi configurare per il tipo di connessione TNS Oracle DB.

Nome campo Dettagli
Località us-central1
Connettore Oracle DB
Versione del connettore 2
Nome collegamento google-oracledb-plsql-tns
Abilita Cloud Logging
Service account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Origine dati (DESCRIPTION=(ADDRESS=(PROTOCOL_ADDRESS_INFORMATION))(CONNECT_DATA= (SERVICE_NAME=service_name)))
Numero minimo di nodi 2
Numero massimo di nodi 50
Nome utente NOME UTENTE
Password PASSWORD
Versione secret 1

Entità, operazioni e azioni

Tutti i connettori di integrazione forniscono un livello di astrazione per gli oggetti dell'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione ti 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 connesso. La definizione di un'entità varia da un connettore all'altro. Ad esempio, in un connettore di database, le tabelle sono le entità, in un connettore del 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 una delle seguenti operazioni su un'entità:

    Selezionando un'entità dall'elenco disponibile, viene generato 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 alcuna 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 tramite l'interfaccia del connettore. Un'azione ti consente di apportare modifiche a una o più entità e varia da connettore a connettore. In genere, un'azione ha alcuni parametri di input e un parametro di output. Tuttavia, è possibile che un connettore non supporti alcuna azione, nel qual caso l'elenco Actions sarà vuoto.

Limitazioni di sistema

Il connettore Oracle DB può elaborare un massimo di 70 transazioni al secondo, per nodo, e limita le transazioni che superano 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:

  • BIGINT
  • BINARY
  • BIT
  • BOOLEANO
  • CHAR
  • DATA
  • DECIMALE
  • DOUBLE
  • FLOAT
  • INTEGER
  • LONGN VARCHAR
  • LONG VARCHAR
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REAL
  • SMALL INT
  • TEMPO
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

Azioni

Il connettore Oracle DB ti consente di eseguire le procedure memorizzate, le funzioni e le query SQL personalizzate nel formato supportato dal tuo database Oracle. Per eseguire query SQL personalizzate, il connettore fornisce l'azione Esegui query personalizzata.

Per creare una query personalizzata:

  1. Segui le istruzioni dettagliate per aggiungere un'attività di connettori.
  2. Quando configuri l'attività del connettore, seleziona Azioni nel tipo di azione che vuoi eseguire.
  3. Nell'elenco Azione, seleziona Esegui query personalizzata, quindi fai clic su Fine.

    Immagine che mostra execute-custom-query-action Immagine che mostra execute-custom-query-action

  4. Espandi la sezione Input attività e poi segui questi passaggi:
    1. Nel campo Timeout dopo, inserisci il numero di secondi di attesa prima dell'esecuzione della query.

      Valore predefinito: 180 secondi.

    2. Nel campo Numero massimo di righe, inserisci il numero massimo di righe da restituire dal database.

      Valore predefinito: 25.

    3. Per aggiornare la query personalizzata, fai clic su Modifica script personalizzato. Si apre la finestra di dialogo Editor di script.

      Immagine che mostra custom-sql-query Immagine che mostra custom-sql-query

    4. 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 parametri di ricerca. Ad esempio, la seguente query SQL seleziona tutte le righe della tabella Employees che corrispondono ai valori specificati per la colonna LastName:

      SELECT * FROM Employees where LastName=?

    5. 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 sequenza i punti interrogativi (?) nella query SQL. Ad esempio, se hai aggiunto tre punti interrogativi (?), devi aggiungere tre parametri in ordine di sequenza.

      immagine che mostra add-query-param immagine che mostra add-query-param

      Per aggiungere parametri di ricerca:

      1. Nell'elenco Tipo, seleziona il tipo di dati del parametro.
      2. Nel campo Valore, inserisci il valore del parametro.
      3. Per aggiungere più parametri, fai clic su + Aggiungi parametro di query.

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: esegui una query Raggruppa per

  1. Nella finestra di dialogo Configura attività connettore, seleziona Azioni.
  2. Seleziona l'azione Esegui query personalizzata e poi fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, fai clic su Modifica query personalizzata. Si apre la finestra di dialogo Query personalizzata.
  4. 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 dalle tabelle EMPLOYEES e EMPLOYEE_DEPARTMENT. Se l'azione va a buon fine, il parametro connectorOutputPayload della risposta dell'attività del connettore conterrà il set di risultati della query.

Esempio: esecuzione di una query con parametri

  1. Nella finestra di dialogo Configura attività connettore, seleziona Azioni.
  2. Seleziona l'azione Esegui query personalizzata e poi fai clic su Fine.
  3. Nella sezione Input attività dell'attività Connettori, imposta i seguenti valori per il campo:
    1. Timeout dopo: 10
    2. Numero massimo di righe: 3
  4. Fai clic su + Aggiungi nome parametro per inserire i seguenti valori:
    1. Tipo: VARCHAR
    2. Valore:John
  5. Fai clic su Modifica query personalizzata. Si apre la finestra di dialogo Query personalizzata.
  6. 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=?
  7. Questo esempio seleziona i record dei dipendenti in cui il nome del dipendente è John. Nota che il nome del dipendente è parametrizzato. Se l'azione ha esito positivo, il parametro connectorOutputPayload della risposta 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: inserisci un record utilizzando un valore di sequenza

  1. Nella finestra di dialogo Configura attività connettore, seleziona Azioni.
  2. Seleziona l'azione Esegui query personalizzata e poi fai clic su Fine.
  3. 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')
  4. Questo esempio inserisce un record nella tabella AUTHOR utilizzando un oggetto sequenza author_table_id_seq esistente. Se l'azione ha esito positivo, il parametro connectorOutputPayload della risposta dell'attività del connettore avrà un valore simile al seguente:

    [{
    }]

Esempio: esecuzione di una query con una funzione aggregata

  1. Nella finestra di dialogo Configura attività connettore, seleziona Azioni.
  2. Seleziona l'azione Esegui query personalizzata e poi fai clic su Fine.
  3. Nella finestra di dialogo Query personalizzata, inserisci la seguente query SQL e fai clic su Salva:
      SELECT SUM(SALARY) as Total FROM EMPLOYEES
      
  4. Questo esempio calcola il valore aggregato degli stipendi nella tabella EMPLOYEES. Se l'azione ha esito positivo, il parametro connectorOutputPayload della risposta dell'attività del connettore avrà un valore simile al seguente:

    [{
    "TOTAL": 13000.0
    }]  
      

Esempio: crea una nuova tabella

  1. Nella finestra di dialogo Configura attività connettore, seleziona Azioni.
  2. Seleziona l'azione Esegui query personalizzata e poi fai clic su Fine.
  3. 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))
     
  4. Questo esempio crea la tabella TEST1. Se l'azione ha esito positivo, il parametro connectorOutputPayload della risposta dell'attività 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.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Employee dall'elenco Entity.
  3. Seleziona l'operazione List, quindi fai clic su Fine.
  4. (Facoltativo) Nella sezione Input attività dell'attività Connettori, puoi filtrare il set di risultati specificando una clausola di filtro.

Esempio: recuperare i dettagli del dipendente

Questo esempio recupera i dettagli del dipendente con ID 45 dall'entità Employee.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Employee dall'elenco Entity.
  3. Seleziona l'operazione Get, quindi fai clic su Fine.
  4. Nella sezione Input attività dell'attività Connettori, fai clic su EntityId e poi inserisci 45 nel campo Valore predefinito.

    In questo caso, 45 è il valore della chiave primaria dell'entità Employee.

Esempio: crea una scheda dipendente

Questo esempio aggiunge un nuovo record dipendente nell'entità Employee.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Employee dall'elenco Entity.
  3. Seleziona l'operazione Create, quindi fai clic su Fine.
  4. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e poi inserisci un valore simile al seguente nel campo Default Value:
    {
    "EMPLOYEE_ID": 69.0,
    "EMPLOYEE_NAME": "John",
    "CITY": "Bangalore"
    }

    Se l'integrazione ha esito positivo, il campo connectorOutputPayload dell'attività del connettore avrà un valore simile al seguente:

     {
    "ROWID": "AAAoU0AABAAAc3hAAF"
    }

Esempio: aggiornare la scheda di un dipendente

Questo esempio aggiorna il record del dipendente il cui ID è 69 nell'entità Employee.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Employee dall'elenco Entity.
  3. Seleziona l'operazione Update, quindi fai clic su Fine.
  4. Nella sezione Input attività dell'attività Connettori, fai clic su connectorInputPayload e poi inserisci un valore simile al seguente nel campo Default Value:
    {
    "EMPLOYEE_NAME": "John",
    "CITY": "Mumbai"
    }
  5. Fai clic su entityId, quindi 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 valore simile al seguente:

    {
    }

Esempio: eliminare la scheda di un dipendente

Questo esempio elimina il record del dipendente il cui ID è 35 nell'entità Employee.

  1. Nella finestra di dialogo Configure connector task, fai clic su Entities.
  2. Seleziona Employee dall'elenco Entity.
  3. Seleziona l'operazione Delete, quindi fai clic su Fine.
  4. Nella sezione Input attività dell'attività Connettori, fai clic su entityId e poi inserisci 35 nel campo Valore predefinito.

Creare connessioni utilizzando Terraform

Puoi utilizzare la risorsa Terraform 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 della connessione, consulta Modello di esempio.

Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione Terraform:

Nome parametro Tipo di dati Obbligatorio Descrizione
service_name STRING Falso Il nome del servizio del database Oracle.
data_source STRING Falso Nome del servizio Oracle Net, descrittore di connessione (noto anche come stringa di connessione TNS) o un nome di connessione semplice che identifica il database a cui connettersi.
include_synonyms BOOLEANO Falso Esegui query sui metadati per i sinonimi e rendili disponibili come entità. Se imposti la proprietà su false, puoi migliorare 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 di essere considerata abbandonata e recuperata dal pool di connessioni.
inactive_connection_timeout INTEGER Falso Il timeout di connessione inattiva (in secondi) determina per quanto tempo una connessione disponibile rimane nel pool di connessioni prima di essere rimossa.
max_connection_reuse_time INTEGER Falso Il tempo massimo di riutilizzo della connessione (in secondi) specifica il tempo massimo per cui una connessione può potenzialmente essere riutilizzata, dopodiché il pool rimuove e chiude una connessione.
ttl_connection_timeout INTEGER Falso Il tempo massimo (in secondi) in cui una connessione può rimanere in uso.
browsable_schemas STRING Falso Schemi separati da virgole (ad es. SchemaA, SchemaB) da utilizzare durante il recupero di 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, questa diventa disponibile sia in Apigee Integration che in Application Integration. Puoi utilizzare la connessione in un'integrazione tramite l'attività Connettori.

  • Per capire come creare e utilizzare l'attività Connettori in Apigee Integration, consulta Attività Connettori.
  • Per capire come creare e utilizzare l'attività Connettori in Application Integration, consulta Attività Connettori.

Ricevere assistenza dalla community Google Cloud

Puoi pubblicare le tue domande e discutere di questo connettore nella community di Google Cloud nei forum di Cloud.

Passaggi successivi