Creare collegamenti al database TLS da un Autonomous AI Database a un altro Autonomous AI Database
È possibile creare collegamenti al database TLS da un Autonomous AI Database on Dedicated Exadata Infrastructure a un Autonomous AI Database di destinazione che si trova su un endpoint pubblico.
Crea collegamenti di database TLS unidirezionali da un Autonomous AI Database a un altro Autonomous AI Database
Puoi creare database link TLS unidirezionali da un Autonomous AI Database su un'infrastruttura Exadata dedicata a un Autonomous AI Database accessibile pubblicamente.
Per creare database link a una destinazione pubblica, il database di destinazione deve essere accessibile. Alcuni database, inclusi i database AI autonomi, possono limitare l'accesso (ad esempio, utilizzando le liste di controllo dell'accesso). Assicurarsi di abilitare il database di destinazione per consentire l'accesso dal database di origine affinché il database link funzioni. Se limiti l'accesso con le liste di controllo dell'accesso (ACL), puoi trovare l'indirizzo IP in uscita di Autonomous AI Database di origine e consentire a tale indirizzo IP di connettersi al database di destinazione. Quando il database di destinazione è un altro Autonomous AI Database, è possibile aggiungere l'indirizzo IP in uscita del database di origine all'ACL del database di destinazione.
Per informazioni sulla ricerca dell'indirizzo IP in uscita, vedere Ottieni dettagli tenancy.
Per creare un database link a un Autonomous AI Database di destinazione senza un wallet (TLS):
-
Accertarsi che le connessioni TLS di tipo unidirezionale siano abilitate.
Per impostazione predefinita, le connessioni TLS unidirezionali sono abilitate quando si esegue il provisioning di un AVMC. Per ulteriori informazioni, vedere Creare un cluster VM Autonomous Exadata.
Nota: in un Autonomous AI Database su un'infrastruttura Exadata dedicata, le connessioni walletless funzionano per TLS unidirezionale installando un certificato SSL personalizzato emesso da una CA pubblica. Per ulteriori dettagli, vedere Prepare for TLS Walletless Connections.
-
Nell'istanza di Autonomous AI Database in cui si sta creando il database link, creare le credenziali per accedere all'Autonomous AI Database di destinazione. Le credenziali
usernameepasswordspecificate conDBMS_CLOUD.CREATE_CREDENTIALsono le credenziali per il database di destinazione (le credenziali vengono utilizzate per creare il database link).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
usernamedevono essere tutte lettere maiuscole.Questa operazione memorizza le credenziali nel database in un formato cifrato. È possibile utilizzare qualsiasi nome per il nome della credenziale.
-
Creare un database link all'istanza di Autonomous AI Database di destinazione utilizzando
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Ad esempio:
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'SALESLINK', hostname => 'adb.eu-frankfurt-1.oraclecloud.com', port => '2484', service_name => 'example_medium.atpc.example.oraclecloud.com', credential_name => 'DB_LINK_CRED', directory_name => NULL); END; /Per creare un database link con
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKa un Autonomous AI Database di destinazione su un endpoint pubblico utilizzando una connessione TCP sicura senza un wallet, il parametrodirectory_namedeve essereNULL.Il valore del parametro
portdeve essere impostato su 2484 per le connessioni TLS. 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 Crea cluster VM Autonomous Exadata.Il parametro
ssl_server_cert_dnpuò essere omesso oppure, se incluso, specificare un valoreNULL.Gli utenti diversi da ADMIN richiedono privilegi per eseguire
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. -
Utilizzare il database link creato per accedere ai dati nel database di destinazione.
Ad esempio:
SELECT * FROM employees@SALESLINK;
Per le credenziali create nel Passo 1, le credenziali del database di destinazione, 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;
/
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:
Creare i collegamenti al database mTLS da un Autonomous AI Database a un altro Autonomous AI Database
È possibile creare database link mTLS da un Autonomous AI Database su un'infrastruttura Exadata dedicata a un Autonomous AI Database accessibile pubblicamente.
Per creare database link a una destinazione pubblica, il database di destinazione deve essere accessibile. Alcuni database, inclusi i database AI autonomi, possono limitare l'accesso (ad esempio, utilizzando le liste di controllo dell'accesso). Assicurarsi di abilitare il database di destinazione per consentire l'accesso dal database di origine affinché il database link funzioni. Se limiti l'accesso con le liste di controllo dell'accesso (ACL), puoi trovare l'indirizzo IP in uscita di Autonomous AI Database di origine e consentire a tale indirizzo IP di connettersi al database di destinazione. Ad esempio, se il database di destinazione è un altro Autonomous AI Database, è possibile aggiungere l'indirizzo IP in uscita del database di origine all'ACL del database di destinazione.
Per informazioni sulla ricerca dell'indirizzo IP in uscita, vedere Ottieni dettagli tenancy.
Per creare database link a un Autonomous AI Database di destinazione con un wallet (mTLS):
-
Accertarsi che le connessioni mTLS siano abilitate.
Per impostazione predefinita, le connessioni TLS unidirezionali sono abilitate per un AVMC. È possibile abilitare l'autenticazione TLS reciproca (mTLS) selezionando la casella di controllo Enable mutual TLS (mTLS) authentication durante il provisioning di AVMC. Per ulteriori informazioni, vedere Creare un cluster VM Autonomous Exadata.
-
Copiare il wallet del database di destinazione,
cwallet.sso, contenente i certificati per il database di destinazione nell'area di memorizzazione degli oggetti.Tenere presente quanto riportato di seguito per il file wallet.
-
Il file wallet, insieme all'ID utente e alla password del database, fornisce l'accesso ai dati nell'Oracle Database di destinazione. Memorizzare i file wallet in una posizione sicura. Condividere i file wallet solo con utenti autorizzati.
-
Non rinominare il file wallet. Il file wallet nello storage degli oggetti deve essere denominato
cwallet.sso.
-
-
Creare le credenziali per accedere all'area di memorizzazione degli oggetti in cui memorizzare il file wallet
cwallet.sso. Per informazioni sui parametri di nome utente e password per diversi servizi di storage degli oggetti, vedere Procedura CREDENTIAL. -
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.
-
Utilizzare
DBMS_CLOUD.GET_OBJECTper caricare il wallet del database 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 ebucketnameè il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti. -
Nell'istanza di Autonomous AI Database creare le credenziali per accedere al database di destinazione. Le credenziali
usernameepasswordspecificate conDBMS_CLOUD.CREATE_CREDENTIALsono le credenziali per il database di destinazione utilizzato per creare il database link.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
usernamedevono essere tutte lettere maiuscole.Questa operazione memorizza le credenziali nel database in un formato cifrato. È possibile utilizzare qualsiasi nome per il nome della credenziale.
-
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 => 'SALESLINK', hostname => 'adb.eu-frankfurt-1.oraclecloud.com', port => '2484', service_name => 'example_medium.atpc.example.oraclecloud.com', ssl_server_cert_dn => 'CN=atpc.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US', credential_name => 'DB_LINK_CRED', directory_name => 'DBLINK_WALLET_DIR'); END; /Gli utenti diversi da ADMIN richiedono privilegi per eseguire
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Il valore del parametro
portdeve essere impostato su 2484 per le connessioni TLS. 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 Crea cluster VM Autonomous Exadata.Se il file wallet nella directory specificata con
directory_namenon ècwallet.sso, la procedura segnala un errore, ad esempio:ORA-28759: failure to open file. -
Utilizzare il database link creato per accedere ai dati nel database di destinazione.
Ad esempio:
SELECT * FROM employees@SALESLINK;
Per le credenziali create nel Passo 5, le credenziali del database di destinazione, 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:
Database Link Notes con una destinazione che è un Autonomous AI Database
Fornisce note per la creazione di collegamenti al database a una destinazione che è un altro Autonomous AI Database.
Note per i database link a un altro Autonomous AI Database:
-
È valido un solo file wallet per ogni directory da utilizzare con i database link. È possibile caricare un solo file
cwallet.ssoalla volta nella directory scelta per i file wallet, ad esempio DBLINK_WALLET_DIR. Ciò significa che con uncwallet.ssoin DBLINK_WALLET_DIR è possibile creare solo database link ai database per i quali il wallet in tale directory è valido. Per utilizzare più filecwallet.ssocon database link è necessario creare directory aggiuntive e inserire ogni filecwallet.ssoin una directory diversa. Quando si creano database link conDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK, specificare la directory che contiene il wallet con il parametrodirectory_name.Per informazioni sulla creazione di directory, vedere Crea directory in Autonomous AI Database.
-
Per elencare i database link, utilizzare la vista
ALL_DB_LINKS. Per ulteriori informazioni, vedere ALL_DB_LINKS in Oracle Database 19c Database Reference o Oracle Database 26ai Database Reference. -
Il file wallet, insieme all'ID utente e alla password del database, fornisce l'accesso AI dati nell'Autonomous AI 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_LINKdeve indicare il nome di scansione del database AI Autonomous dedicato di destinazione come parametro 'hostname'.