Crea database link con connettività eterogenea gestita dal cliente a database non Oracle accessibili al pubblico

Utilizzare DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK per creare database link da un Autonomous AI Database on Dedicated Exadata Infrastructure che si trova su un endpoint pubblico a un Oracle Database Gateway per accedere AI database non Oracle.

Oracle Database Gateway è un gateway progettato per accedere a un sistema non Oracle specifico. Utilizzando Oracle Database Gateway, puoi accedere ai dati ovunque in un sistema di database distribuito senza conoscere la posizione dei dati o il modo in cui vengono memorizzati. L'uso dei database link su Autonomous AI Database con Oracle Database Gateway supporta ambienti eterogenei ed elimina la necessità di personalizzare le applicazioni per accedere AI dati da sistemi non Oracle.

Nota: la creazione di database link con connettività eterogenea gestita dal cliente a database non Oracle accessibili al pubblico è supportata solo con le versioni 19.25 e successive per 19c e 23.6 e successive per 23ai.

Prerequisiti

Per utilizzare i database link da un'istanza di Autonomous AI Database su un endpoint pubblico, effettuare le operazioni riportate di seguito.

  1. Configurare Oracle Database Gateway per accedere a un database non Oracle. Per ulteriori dettagli, vedere Oracle Database Gateways in Oracle Database 19c Database Heterogeneous Connectivity User's Guide o Oracle Database 26ai Database Heterogeneous Connectivity User's Guide.

    A seconda del database a cui si desidera connettersi, è possibile fare riferimento alla Guida all'installazione e alla configurazione corrispondenti e alla Guida per l'utente del gateway.

    Ad esempio, per Oracle Database Gateway for SQL Server, vedere:

  2. Configurare Oracle Net Listener per gestire le richieste in entrata in Oracle Database Gateway.

  3. Creare un wallet con firma automatica in Oracle Database Gateway.

  4. Configurare il gateway di destinazione per l'uso dell'autenticazione TCP/IP con SSL (TCPS). Per ulteriori informazioni, vedere Configuring Transport Layer Security Authentication nel manuale Oracle Database 19c Security Guide o Oracle Database 26ai Security Guide.

Procedura

Utilizzare DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK per creare database link da un'istanza di Autonomous AI Database su un endpoint pubblico a un Oracle Database Gateway per accedere AI database non Oracle.

Per creare collegamenti di database da un'istanza di Autonomous AI Database su un endpoint pubblico a un gateway di destinazione, effettuare le operazioni riportate di seguito.

  1. Copiare il wallet con firma automatica del gateway di destinazione, ad esempio cwallet.sso, contenente i certificati per Oracle Database Gateway nell'area di memorizzazione degli oggetti.

    Nota: il file wallet, insieme all'ID utente e alla password del database, fornisce l'accesso ai dati disponibili tramite il gateway di destinazione. Memorizzare i file wallet in una posizione sicura. Condividere i file wallet solo con utenti autorizzati.

  2. Creare le credenziali per accedere all'area di memorizzazione degli oggetti in cui si memorizza cwallet.sso. Per informazioni sui parametri di nome utente e password per diversi servizi di storage degli oggetti, vedere la procedura CREATE_CREDENTIAL.

  3. Creare una directory in Autonomous AI Database per il file wallet cwallet.sso.

    Ad esempio:

     CREATE DIRECTORY dblink_wallet_dir AS 'directory_path_of_your_choice';
    

    Per informazioni sulla creazione di directory, vedere Crea directory in Autonomous AI Database.

  4. Utilizzare DBMS_CLOUD.GET_OBJECT per caricare il wallet con firma automatica del gateway di destinazione nella directory creata nel passo precedente, DBLINK_WALLET_DIR.

    Ad esempio:

     BEGIN
         DBMS_CLOUD.GET_OBJECT(
             credential_name => 'DEF_CRED_NAME',
             object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/cwallet.sso',
             directory_name => 'DBLINK_WALLET_DIR'
         );
      END;
    

    In questo esempio, namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.

    Il valore credential_name utilizzato in questo passo è costituito dalle credenziali per l'area di memorizzazione degli oggetti. Nel passo successivo si creano le credenziali per accedere al gateway di destinazione.

    Per ulteriori dettagli, vedere Procedura e funzione GET_OBJECT.

  5. In Autonomous AI Database, creare le credenziali per accedere al database di destinazione. Il nome utente e la password specificati con DBMS_CLOUD.CREATE_CREDENTIAL sono le credenziali per il database di destinazione utilizzato all'interno del database link (dove si accede al database di destinazione tramite Oracle Database Gateway).

    Ad esempio:

     BEGIN
         DBMS_CLOUD.CREATE_CREDENTIAL(
             credential_name => 'DB_LINK_CRED',
             username => 'NICK',
             password => 'password'
         );
     END;/
    

    Specificare il parametro credential_name come obbligatorio.

    I caratteri del parametro username devono essere tutte lettere maiuscole.

    Questa operazione memorizza le credenziali nel database in un formato cifrato. È possibile utilizzare qualsiasi nome per il nome della credenziale.

  6. Creare il database link al gateway di destinazione utilizzando DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Ad esempio:

     BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
             db_link_name =>       'SALESLINK',
             hostname =>           'example.com',
             port =>               '1522',
             service_name =>       'example_service_name',
             ssl_server_cert_dn => 'ssl_server_cert_dn',
             credential_name =>    'DB_LINK_CRED',
             directory_name =>     'DBLINK_WALLET_DIR',
             gateway_link =>        TRUE
         );
     END;/
    

    Gli utenti diversi da ADMIN richiedono privilegi per eseguire DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Per ulteriori informazioni, vedere Procedura CREATE_DATABASE_LINK.

  7. Utilizzare il database link creato per accedere ai dati sul gateway di destinazione.

    Ad esempio:

     SELECT * FROM employees@SALESLINK;
    

Per le credenziali create nel Passo 5, le credenziali di Oracle Database Gateway, se la password dell'utente di destinazione cambia, è possibile aggiornare la credenziale che contiene le credenziali dell'utente di destinazione come indicato di seguito.

BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL(
    credential_name =>'DB_LINK_CRED',
    attribute =>'PASSWORD',
    value=>'password'
  );
END;
/

La nuova password è la posizione della password.

Dopo questa operazione, i database link esistenti che utilizzano questa credenziale continuano a funzionare senza dover eliminare e ricreare i database link.

Per ulteriori informazioni, vedere UPDATE_CREDENTIAL Procedure.

Per un esempio, vedere Come accedere AI database non Oracle da Autonomous AI Database utilizzando Oracle Database Gateway per creare un database link a un Oracle Database Gateway per accedere a un database Microsoft SQL Server.

Nota: anche se il blog di cui sopra parla nel contesto di Autonomous AI Database Serverless, tutti i contenuti di quel blog si applicano anche ad Autonomous AI Database on Dedicated Exadata Infrastructure.

Contenuto correlato

Package DBMS_CLOUD_ADMIN