Creare database link da un Autonomous AI Database a un Oracle Database su un endpoint privato

È possibile creare database link da un Autonomous AI Database a un Oracle Database di destinazione che si trova su un endpoint privato.

Nota: i collegamenti al database da un database Oracle di destinazione che si trova su un endpoint privato sono supportati solo nelle aree commerciali e nelle aree governative degli Stati Uniti. Questa funzione è abilitata per impostazione predefinita in tutte le aree commerciali. Questa funzione è abilitata per impostazione predefinita nelle aree del governo degli Stati Uniti per i nuovi database di cui è stato eseguito il provisioning. Per i database esistenti del governo degli Stati Uniti su un endpoint privato, se si desidera creare collegamenti di database da un Autonomous AI Database a una destinazione in un'area del governo degli Stati Uniti, è possibile presentare una richiesta di servizio all'indirizzo Oracle Cloud Support e richiedere di abilitare l'endpoint privato nella funzione di collegamento al database delle aree governative. Le regioni del governo degli Stati Uniti includono quanto segue:

A seconda del tipo e della configurazione del database Oracle di destinazione:

Prerequisiti per i database link da Autonomous AI Database AI database Oracle in un endpoint privato

Elenca i prerequisiti per creare database link da un Autonomous AI Database a un database Oracle di destinazione che si trova in un endpoint privato.

Per creare un database link a un database Oracle di destinazione su un endpoint privato, effettuare le operazioni riportate di seguito.

Creare database link ai database Oracle in un endpoint privato senza wallet

Utilizzare DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK per creare database link da un Autonomous AI Database a un database Oracle di destinazione che si trova su un endpoint privato e connettersi senza un wallet (TCP).

Nota: questa opzione è valida per i database Oracle di destinazione che si trovano in un endpoint privato e non dispongono di SSL/TCPS configurati.

Eseguire i passi dei prerequisiti, se necessario. Per i dettagli, vedere Prerequisiti per i database link da Autonomous AI Database AI database Oracle in un endpoint privato.

Per creare un database link a un database di destinazione su un endpoint privato utilizzando una connessione TCP sicura senza wallet:

  1. In Autonomous AI Database creare le credenziali per accedere al database di destinazione. Le credenziali username e password specificate con DBMS_CLOUD.CREATE_CREDENTIAL sono le credenziali per il database di destinazione utilizzato all'interno del database link, in cui è possibile accedere al database di destinazione tramite la VCN.

    Ad esempio:

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

    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.

  2. Creare il database link al database di destinazione utilizzando DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Ad esempio:

     BEGIN
          DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name => 'PRIVATE_ENDPOINT_LINK',
              hostname => 'exampleHostname',
              port => '1522',
              service_name => '*exampleServiceName*',
              ssl_server_cert_dn => NULL,
              credential_name => 'PRIVATE_ENDPOINT_CRED',
              directory_name => NULL,
              private_target => TRUE);
     END;
     /
    

    Per una destinazione su un endpoint privato, DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK supporta la specifica di un singolo nome host con il parametro hostname. In un endpoint privato, l'uso di un indirizzo IP, di un IP SCAN o di un nome host SCAN non è supportato (quando la destinazione si trova su un endpoint pubblico, CREATE_DATABASE_LINK supporta l'uso di un indirizzo IP, di un IP SCAN o di un nome host SCAN).

    Quando la destinazione è un database Oracle RAC, utilizzare il parametro rac_hostnames per specificare uno o più nomi host con DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Ciò consente di sfruttare le funzionalità di alta disponibilità di Oracle RAC. L'uso di un indirizzo IP, di un IP SCAN o di un nome host SCAN nel valore rac_hostnames non è supportato.

    Ad esempio, con un database Oracle RAC di destinazione utilizzare il parametro rac_hostnames:

     BEGIN
          DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name => 'PRIVATE_ENDPOINT_LINK',
              rac_hostnames => '["sales1-svr1.*example*.adb.us-ashburn-1.oraclecloud.com",
                                 "sales1-svr2.*example*.adb.us-ashburn-1.oraclecloud.com",
                                 "sales1-svr3.*example*.adb.us-ashburn-1.oraclecloud.com"]',
              port => '1522',
              service_name => '*exampleServiceName*',
              ssl_server_cert_dn => NULL,
              credential_name => 'PRIVATE_ENDPOINT_CRED',
              directory_name => NULL,
              private_target => TRUE);
     END;
     /
    

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK non supporta il valore localhost per il parametro hostname o nel parametro rac_hostnames.

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

    Come mostrato nell'esempio, per creare un database link con DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK a un database di destinazione su un endpoint privato utilizzando una connessione TCP sicura senza un wallet, sono necessari tutti i seguenti elementi:

    • Il parametro directory_name deve essere NULL.

    • Il parametro ssl_server_cert_dn deve essere NULL.

    • Il parametro private_target deve essere TRUE.

  3. Utilizzare il database link creato per accedere ai dati nel database di destinazione.

    Ad esempio:

     SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
    

Per le credenziali create nel Passo 1, le credenziali di Oracle Database, se la password dell'utente di destinazione viene modificata, è 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;
/

Dove password corrisponde alla nuova 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 la procedura CREATE_DATABASE_LINK.

Creare database link da Autonomous AI Database AI database Oracle in un endpoint privato con un wallet (mTLS)

È possibile creare database link da un Autonomous AI Database a un database Oracle di destinazione che si trova su un endpoint privato.

Nota: questa opzione è valida per i database Oracle di destinazione per i quali è configurato SSL/TCPS e che si trovano in un endpoint privato.

Se nel database Oracle di destinazione non è configurato SSL/TCPS, sono disponibili due opzioni:

Eseguire i passi dei prerequisiti, se necessario. Per i dettagli, vedere Prerequisiti per i database link da Autonomous AI Database AI database Oracle in un endpoint privato.

Per creare un database link a un database Oracle di destinazione su un endpoint privato utilizzando TCP/IP con autenticazione SSL (TCPS):

  1. Copiare il wallet del database di destinazione, cwallet.sso, contenente i certificati per il database di destinazione nell'area di memorizzazione degli oggetti.

    Nota: il file wallet, insieme all'ID utente e alla password del database, fornisce l'accesso ai dati nel database Oracle 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 Procedura CREDENTIAL.

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

    Ad esempio:

    CREATE DIRECTORY *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 del database di destinazione nella directory creata nel passo precedente, 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 => '*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.

    Nota: il 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 database di destinazione.

  5. In Autonomous AI Database creare le credenziali per accedere al database di destinazione. Le credenziali username e password specificate con DBMS_CLOUD.CREATE_CREDENTIAL sono le credenziali per il database di destinazione utilizzato all'interno del database link, in cui è possibile accedere al database di destinazione tramite la VCN.

    Nota: è necessario specificare il parametro credential_name.

    Ad esempio:

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

    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 database di destinazione utilizzando DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Ad esempio:

     BEGIN
       DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
         db_link_name => 'PEDBLINK1',
         hostname => 'example1.adb.ap-osaka-1.oraclecloud.com',
         port => '1522',
         service_name => '*example_high.adb.oraclecloud.com*',
         ssl_server_cert_dn => '*ssl_server_cert_dn*',
         credential_name => 'DB_LINK_CRED',
         directory_name => '*WALLET_DIR*',
         private_target => TRUE);
     END;
     /
    

    Per una destinazione su un endpoint privato, DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK supporta la specifica di un singolo nome host con il parametro hostname. In un endpoint privato, l'uso di un indirizzo IP, di un IP SCAN o di un nome host SCAN non è supportato (quando la destinazione si trova su un endpoint pubblico, CREATE_DATABASE_LINK supporta l'uso di un indirizzo IP, di un IP SCAN o di un nome host SCAN).

    Quando la destinazione è un database Oracle RAC, utilizzare il parametro rac_hostnames per specificare uno o più nomi host con DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Ciò consente di sfruttare le funzionalità di alta disponibilità di Oracle RAC. L'uso di un indirizzo IP, di un IP SCAN o di un nome host SCAN nel valore rac_hostnames non è supportato.

    Ad esempio, con un database Oracle RAC di destinazione utilizzare il parametro rac_hostnames:

     BEGIN
       DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
         db_link_name => 'PEDBLINK1',
         rac_hostnames => '["sales1-svr1.*example*.adb.us-ashburn-1.oraclecloud.com",
                            "sales1-svr2.*example*.adb.us-ashburn-1.oraclecloud.com",
                            "sales1-svr3.*example*.adb.us-ashburn-1.oraclecloud.com"]',
         port => '1522',
         service_name => '*example_high.adb.oraclecloud.com*',
         ssl_server_cert_dn => '*ssl_server_cert_dn*',
         credential_name => 'DB_LINK_CRED',
         directory_name => '*WALLET_DIR*',
         private_target => TRUE);
     END;
     /
    

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK non supporta il valore localhost per hostname o nel parametro rac_hostnames.

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

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

    Ad esempio:

    ``sql SELECT * DA impiegati@PEDBLINK1;

Per le credenziali create nel Passo 5, le credenziali di Oracle Database, se la password dell'utente di destinazione viene modificata, è 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;
/

Dove password corrisponde alla nuova 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 la procedura CREATE_DATABASE_LINK.

Database Link Notes con Oracle Database di destinazione

Fornisce note per la creazione di collegamenti al database a un database Oracle di destinazione (quando la destinazione non è un Autonomous AI Database)

Note per i collegamenti al database ad altri database Oracle:

Contenuto correlato

Package DBMS_CLOUD_ADMIN