Panoramica della connessione a un sistema 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 dalla modalità di impostazione della rete cloud.
Nota
È possibile trovare informazioni su vari scenari di rete in Panoramica 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 predefinite del servizio di amministrazione, è 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.
Utilizzare l'indirizzo IP privato per connettersi al sistema dalla rete in locale o dall'interno della rete cloud virtuale (VCN). È inclusa la connessione da un host situato in locale che si connette tramite una VPN o FastConnect alla 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 l'accesso SSH (Secure Shell) al sistema DB, sarà necessario il percorso completo del file che contiene 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 si esegue 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 offre 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 applicazione si connettono a livello di PDB. Ecco alcune importanti funzioni che un servizio applicativo può fornire:
- Identificazione del carico di lavoro
- Bilanciamento del carico
- Continuità delle applicazioni e Transaction Guard
- FAN (Fast Application Notification)
- Assegnazione risorsa in base al nome del servizio
Per informazioni dettagliate su queste e altre funzionalità ad alta disponibilità, vedere Best practice di failover client per i database Oracle ad alta disponibilità.
Creare un servizio applicazione
La utility srvctl
consente di creare un servizio applicazione. Prima di poter connettersi al servizio, è necessario avviarlo.
È possibile creare un servizio applicazione per un PDB o un database Oracle 11g eseguendo i passi riportati di seguito.
- Eseguire il login all'host del sistema DB come
opc
. - Passare all'utente oracle e impostare l'ambiente in uso sull'Oracle Database che si desidera amministrare.
sudo su - oracle . oraenv
ORACLE_SID = [oracle] ? <database_name> The Oracle base has been set to /u01/app/oracle
- Creare il servizio applicazione per il database. Includere l'opzione
pdb
solo 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 3600
Si 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 al 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 completo del descrittore di connessione (lungo). Utilizzare il formato lungo per la connessione se la risoluzione del nome host non è disponibile. È anche 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 quando si avvia un sistema DB RAC a 2 nodi. Il nome SCAN privato può essere risolto 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 dai VIP e dai VIP SCAN, ad esempio il bilanciamento del carico lato server e il failover VIP.
Nota
Se si modifica manualmente la porta DB_UNIQUE_NAME, DB_DOMAIN o del listener nel sistema DB, le stringhe di connessione visualizzate nella console o nell'API non rifletteranno le modifiche. Assicurarsi di utilizzare i valori effettivi di questi parametri quando si effettua una connessione.Recupera le 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. Per assistenza nella ricerca della pagina di elenco o del 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 predefinita al servizio dell'applicazione 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 formato seguente:
<hostname|SCAN>:1521/<DB_unique_name>.<DB_domain>
- Effettuare la sostituzione appropriata:
-
Per il servizio di amministrazione del PDB, sostituire
DB_unique_name
con il nome del PDB.<hostname|SCAN>:1521/<PDB_name>.<DB_domain>
-
Per un servizio applicazione, sostituire
DB_UNIQUE_NAME
con il nome del servizio applicazione.<hostname|SCAN>:1521/<app_service_name>.<DB_domain>
-