Crea database link non TLS da un Autonomous Database a un altro Autonomous Database

È possibile creare database link non TLS da un'infrastruttura Autonomous Database on Dedicated Exadata a un Autonomous Database di destinazione che si trova in un endpoint privato.

Argomenti correlati

Prerequisiti per i database link non TLS da Autonomous Database a un Autonomous Database di destinazione

Elenca i prerequisiti per la creazione di database link non TLS a un Autonomous Database di destinazione presente in un endpoint privato.

Per creare un database link a un Autonomous Database di destinazione in un endpoint privato, effettuare le operazioni riportate di seguito.

  • Il database di destinazione deve essere accessibile dalla VCN Oracle Cloud Infrastructure del database di origine. Ad esempio, è possibile connettersi al database di destinazione quando:

    • Il database di destinazione si trova in un endpoint privato.

    • Sia il database di origine che il database di destinazione si trovano nella stessa VCN di Oracle Cloud Infrastructure.

    • Il database di origine e il database di destinazione si trovano in diverse VCN di Oracle Cloud Infrastructure abbinate.

    • Il database di destinazione è connesso alla VCN di Oracle Cloud Infrastructure del database di origine utilizzando FastConnect o VPN.

  • Per una destinazione in 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 non è supportato l'uso di un indirizzo IP, di un IP SCAN o di un nome host SCAN (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).

  • DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK non supporta il valore localhost per il parametro hostname.

  • Per l'endpoint privato devono essere definite le regole di entrata e uscita seguenti:

    • Definire una regola di uscita nella lista di sicurezza della subnet del database di origine o nel gruppo di sicurezza di rete in modo che il traffico su TCP sia consentito all'indirizzo IP e al numero di porta del database di destinazione.

    • Definire una regola di entrata nella lista di sicurezza della subnet del database di destinazione o nel gruppo di sicurezza di rete in modo che il traffico su TCP sia consentito dall'indirizzo IP del database di origine alla porta di destinazione.

Crea database link non TLS a un Autonomous Database di destinazione

È possibile creare database link non TLS da un'infrastruttura Autonomous Database on Dedicated Exadata a un Autonomous Database di destinazione che si trova in un endpoint privato.

Eseguire i passi dei prerequisiti, se necessario. Per i dettagli, vedere Prerequisiti per i database link non TLS da Autonomous Database a un Autonomous Database di destinazione.

Per creare un database link non TLS a un Autonomous Database di destinazione in un endpoint privato, effettuare le operazioni riportate di seguito.

  1. Creare le credenziali per accedere all'istanza di Autonomous Database di destinazione. I valori username e 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 la VCN).

    Ad esempio:

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

    I caratteri nel parametro username devono essere tutte lettere maiuscole.

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

  2. Creare il database link nel 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 => '1521',
             service_name => 'example_high.adb.oraclecloud.com',
             credential_name => 'PRIVATE_ENDPOINT_CRED',
             directory_name => NULL,
             private_target => TRUE);
    END;
    /

    Per una destinazione in 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 non è supportato l'uso di un indirizzo IP, di un IP SCAN o di un nome host SCAN (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).

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

    Come illustrato nell'esempio, per creare un database link con DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK in un database di destinazione in un endpoint privato senza un wallet, sono necessarie tutte le operazioni riportate di seguito.

    • Per le connessioni non TLS, il valore del parametro port deve essere impostato su 1521. Tuttavia, se durante il provisioning di AVMC è stato scelto un numero di porta del listener SCAN diverso, è necessario utilizzare tale numero di porta. Per ulteriori informazioni, vedere Creare il cluster VM Autonomous Exadata.

      Il parametro directory_name deve essere NULL.

    • Il parametro ssl_server_cert_dn può essere omesso oppure, se incluso, specificare un valore NULL.

    • Il parametro private_target deve essere TRUE.

      Nota

      Se si imposta il parametro private_target su TRUE, il database link viene creato utilizzando il protocollo TCP anziché TCPS, senza convalidare il certificato SSL durante la connessione.
  3. Utilizzare il database link creato per accedere ai dati nel database di destinazione.

    Ad esempio:

    SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
                  

Nota

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 è la 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 CREATE_DATABASE_LINK Procedura.

Note del database link con una destinazione che è un Autonomous Database

Fornisce note per la creazione di database link a una destinazione che è un altro Autonomous Database.

Note per i database link a un altro Autonomous Database:

  • È valido un solo file wallet per directory da utilizzare con i database link. È possibile caricare un solo file cwallet.sso alla volta nella directory scelta per i file wallet (ad esempio, DBLINK_WALLET_DIR). Ciò significa che con un cwallet.sso in DBLINK_WALLET_DIR è possibile creare solo database link ai database per i quali il wallet in tale directory è valido. Per utilizzare più file cwallet.sso con database link, è necessario creare directory aggiuntive e inserire ogni file cwallet.sso in una directory diversa. Quando si creano database link con DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK, specificare la directory che contiene il wallet con il parametro directory_name.

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

  • Per elencare i database link, utilizzare la vista ALL_DB_LINKS. Per ulteriori informazioni, consulta ALL_DB_LINKS in Oracle Database 19c Database Reference o Oracle Database 23ai Database Reference.

  • Il file wallet, insieme all'ID utente e alla password del database, fornisce l'accesso ai dati nell'Autonomous Database di destinazione. Memorizzare i file wallet in una posizione sicura. Condividere i file wallet solo con utenti autorizzati.

  • L'input DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK deve menzionare il nome di scansione dell'Autonomous Database dedicato di destinazione come parametro 'hostname'.