Panoramica della connessione a un sistemi DB
Questo articolo fornisce un'introduzione sulle varie impostazioni necessarie per connettersi a un sistema DB attivo. La modalità di connessione dipende dallo strumento client o dal protocollo utilizzato, dallo scopo della connessione e dall'impostazione della rete cloud.
Nota: in Panoramica sulla rete è possibile trovare informazioni su vari scenari di rete, ma per suggerimenti specifici su come connettersi a un database nel cloud, contattare l'amministratore della sicurezza di rete.
Prerequisiti
-
Per utilizzare la console o l'API per ottenere le stringhe di connessione del servizio di amministrazione predefinito, è necessario disporre del tipo di accesso richiesto in un criterio scritto da un amministratore, indipendentemente dal fatto che si stia utilizzando la console o l'API REST con un SDK, un'interfaccia CLI o un altro strumento. Se si tenta di eseguire un'azione e si riceve un messaggio che informa che non si dispone dell'autorizzazione o che non si è autorizzati, confermare con l'amministratore il tipo di accesso concesso e il compartimento in cui si dovrebbe lavorare.
-
Per connettersi al database, avrai bisogno dell'indirizzo IP pubblico o privato del sistema DB.
Utilizza l'indirizzo IP privato per connetterti al sistema dalla tua rete on premise o dalla rete cloud virtuale (VCN). Ciò include la connessione da un host situato in locale che si connette tramite una VPN o FastConnect alla tua VCN o da un altro host nella stessa VCN. Utilizza l'indirizzo IP pubblico per connetterti al sistema dall'esterno del cloud (senza VPN). È possibile trovare gli indirizzi IP nella console come indicato di seguito.
- Nella pagina dei dettagli del sistema DB selezionare la scheda Nodi.
- Nelle colonne della tabella vengono visualizzati il nome DNS, l'indirizzo IP pubblico e l'indirizzo IP privato.
-
Per accedere a Secure Shell (SSH) al sistema DB, sarà necessario il percorso completo del file contenente la chiave privata associata alla chiave pubblica utilizzata all'avvio del sistema DB.
In caso di problemi di connessione, vedere Risolvere i problemi di connessione.
Servizi di database e stringhe di connessione
I servizi di database consentono di controllare l'accesso client a un'istanza di database a seconda delle funzionalità necessarie. Ad esempio, potrebbe essere necessario accedere al database solo a scopo amministrativo oppure potrebbe essere necessario connettere un'applicazione al database. Le stringhe di connessione sono specifiche di un servizio di database.
Quando esegui il provisioning di un sistema DB, viene creato automaticamente un servizio di amministrazione del database predefinito. Per i database Oracle 12c e versioni successive, questo servizio consente di amministrare il database a livello di CDB. Poiché questo servizio fornisce funzionalità limitate, non è adatto per la connessione di un'applicazione. Oracle consiglia di creare un servizio applicazione predefinito per il database iniziale dopo aver creato il sistema DB. Per i Database Oracle 12c e versioni successive, i servizi applicativi si connettono a livello PDB. Ecco alcune funzioni importanti che un servizio di applicazione può fornire:
- Identificazione del carico di lavoro
- Bilanciamento del carico
- Continuità delle applicazioni e Transaction Guard
- FAN (Fast Application Notification)
- Assegnazione risorsa basata sul nome del servizio
Per informazioni dettagliate su queste e altre funzionalità High Availability, vedere Best practice per il failover dei client per i database Oracle ad alta disponibilità.
Crea un servizio applicazione
Utilizzare la utility srvctl per creare un servizio applicazione. Prima di connettersi al servizio, è necessario avviarlo.
È possibile creare un servizio applicativo per un PDB o un database Oracle 11g effettuando le operazioni riportate di seguito.
- Eseguire il login all'host del sistema DB come
opc. -
Passare all'utente oracle e impostare l'ambiente sull'Oracle Database che si desidera amministrare.
sudo su - oracle . oraenvORACLE_SID = [oracle] ? <database_name> The Oracle base has been set to /u01/app/oracle -
Creare il servizio applicazione per il database. Includere l'opzione
pdbsolo se si sta creando un servizio applicazione per un PDB.srvctl add service -db <DB_unique_name> -pdb <PDB_name> -service <app_service_name> -role PRIMARY -notification TRUE -session_state dynamic -failovertype transaction -failovermethod basic -commit_outcome TRUE -failoverretry 30 -failoverdelay 10 -replay_init_time 900 -clbgoal SHORT -rlbgoal SERVICE_TIME -preferred <rac_node1>,<rac_node2> -retention 3600Si noti che l'opzione preferita è necessaria solo per i database a più nodi per specificare il nome host del nodo in RAC.
-
Avviare il servizio applicazione.
srvctl start service -db <DB_unique_name> -s <app_service_name>
Per ulteriori informazioni sui servizi per un PDB, vedere Amministrazione dei PDB.
Stringhe di connessione a database
È necessario utilizzare la stringa di connessione appropriata per accedere a un servizio di amministrazione del database o di applicazione. Puoi utilizzare la console o l'API per ottenere la stringa per la connessione al servizio di amministrazione predefinito da una VCN. Per i database Oracle 12c e versioni successive, questo servizio consente di amministrare il database a livello di CDB. La stringa viene fornita sia nel formato Easy Connect che nel formato del descrittore di connessione completo (lungo). Utilizzare il formato lungo per la connessione se la risoluzione del nome host non è disponibile. È inoltre possibile utilizzare il formato lungo per creare un alias nel file tnsnames.ora.
Per accedere a un servizio di database all'interno della VCN, la stringa di connessione per un sistema DB RAC (Real Application Cluster) utilizza SCAN (Single Client Access Name) mentre la stringa di connessione per il sistema DB a istanza singola utilizza invece il nome host.
Il nome SCAN privato è una voce DNS Round Robin creata all'avvio di un sistema DB RAC a 2 nodi. Il nome SCAN privato è risolvibile solo all'interno della VCN. Se il client e il database si trovano nella stessa VCN, il meccanismo di connessione è lo stesso di un database RAC in locale; sono disponibili tutte le funzioni fornite da VIP e VIP SCAN, come il bilanciamento del carico lato server e il failover VIP.
Nota: se si modificano manualmente la porta DB_UNIQUE_NAME, DB_DOMAIN o listener nel sistema DB, le stringhe di connessione visualizzate nella console o nell'API non rifletteranno le modifiche apportate. Assicurarsi di utilizzare i valori effettivi di questi parametri quando si effettua una connessione.
Recupero delle stringhe di connessione
È possibile ottenere le stringhe di connessione per il servizio di amministrazione predefinito utilizzando i passi riportati di seguito nella console.
- Nella pagina della lista Sistemi DB selezionare il sistema DB contenente il database che si desidera utilizzare. Se hai bisogno di aiuto per trovare la pagina della lista o il sistema DB, vedere Elenca i sistemi DB.
- Nella scheda Database selezionare il database che si desidera utilizzare.
- Nella pagina dei dettagli del database selezionare la scheda Connessioni. Viene visualizzato un elenco di stringhe di connessione.
- Selezionare il collegamento applicabile per visualizzare o copiare la stringa di connessione.
È possibile derivare le stringhe di connessione per altri servizi di database sostituendo parte della stringa di connessione del servizio applicazione predefinita con i valori applicabili.
Deriva la stringa di connessione
Eseguire i passi riportati di seguito per derivare la stringa di connessione per un servizio di amministrazione PDB o un servizio applicazione.
-
Seguire la procedura per ottenere la stringa Easy Connect per il servizio di amministrazione predefinito. La stringa deve avere il seguente formato:
<hostname\|SCAN>:1521/<DB_unique_name>.<DB_domain> -
Effettuare la sostituzione appropriata:
-
Per il servizio di amministrazione del PDB, sostituire
DB_unique_namecon il nome del PDB.<hostname\|SCAN>:1521/<PDB_name>.<DB_domain> -
Per un servizio applicazione, sostituire
DB_UNIQUE_NAMEcon il nome del servizio applicazione.<hostname\|SCAN>:1521/<app_service_name>.<DB_domain>
-