Caricamento della connessione e gestione della sicurezza con il proxy del database Oracle Connection Manager
Architettura
Questa architettura descrive una configurazione di base. Esistono altre modalità di connessione avanzate PRCP (Proxy Resident Connection Pooling) e Threaded che aumentano le prestazioni di CMAN-TDM. Queste funzioni ottimizzano l'uso delle risorse del database attraverso il bilanciamento dinamico del carico e la gestione intelligente del pool.
Nell'architettura di esempio riportata di seguito, Oracle Autonomous Database Serverless si trova in Oracle Cloud, ma lo stesso principio si applica a un cloud di terze parti.
Questa architettura supporta i componenti elencati di seguito.
- DISTRETTO DI CMAN
Oracle Connection Manager (CMAN) è un server proxy che inoltra le richieste di connessione ai database o ad altri server proxy. Trasferisce la connessione e i dati tra il database e il client su autenticazione. CMAN opera a livello di sessione e in genere risiede in un computer separato dal database server e dai computer client.
CMAN offre i seguenti vantaggi:- Controllo dell'accesso: consente di utilizzare la configurazione basata su regole per filtrare le richieste client specificate dall'utente e accettarne altre.
- Multiplexing di sessione: per incanalare più sessioni client attraverso una connessione di rete a una destinazione server condivisa.
La modalità TDM (Traffic Director Mode) è una funzione di intelligence facoltativa di CMAN che funge da proxy del database per l'applicazione. TDM aggiunge le dimensioni extra di High Availability (HA) trasparente attraverso il supporto delle interruzioni, funzioni di sicurezza avanzate nel cloud (DoS e protezione dagli attacchi, isolamento dei tenant e così via) e funzionalità di ottimizzazione delle prestazioni.
CMAN-TDM consente a qualsiasi applicazione client di connettersi a Oracle Database (sia on-premise che cloud) senza esporre i dettagli del database di base al client. È interoperabile con diverse versioni di Oracle Database.
- Oracle Call Interface (OCI)
Oracle Call Interface è un'interfaccia C linguistica completa, ad alte prestazioni e nativa per Oracle Database per applicazioni personalizzate o in pacchetti.
Le API forniscono un'interfaccia a Oracle Database per eseguire task di amministrazione del database. Sono la base su cui sono costruite altre interfacce specifiche della lingua. Ad esempio, Oracle Data Provider for Net-Core (ODP.Net, Unmanaged), Oracle Precompilers (Pro*C), Oracle ODBC, Oracle C++ Call Interface (OCCI) e driver del linguaggio di scripting per
node-oracledbepython-oracledb. CMAN-TDM funziona anche con PHP OCI8, ROracle, Godror, ruby-oci8, rust-oracle e così via. - Java Database Connectivity (JDBC)
Il driver Java Database Connectivity fornisce API Java che abilitano i programmi Java. Fornisce un modo standard per le applicazioni Java di connettersi e manipolare i dati nei database relazionali e in altre origini dati tabulari. JDBC utilizza un "driver" per facilitare questa interazione, con diversi tipi di driver che offrono diversi livelli di prestazioni e dipendenza della piattaforma.
-
JDBC Thin
Il driver JDBC Thin è un driver Java puro di tipo IV. Il driver offre prestazioni elevate, paragonabili alle prestazioni fornite dal driver JDBC Oracle Call Interface. Il driver JDBC Thin è scritto interamente in Java, è leggero, è indipendente dalla piattaforma e non richiede alcun software Oracle aggiuntivo sul lato client.
Il driver JDBC Thin comunica con il server utilizzando TTC, un protocollo sviluppato da Oracle per accedere ai dati da Oracle Database. Può essere utilizzato per gli application server e per le applet. Il driver consente una connessione diretta al database fornendo un'implementazione di TCP/IP che implementa Oracle Net e TTC oltre ai socket Java. Entrambi questi protocolli sono versioni di implementazione leggere delle loro controparti sul server. Il protocollo di Oracle Net viene eseguito solo su TCP/IP.
È possibile utilizzare il driver Thin JDBC sul lato client e sul lato server. Sul lato client, i driver vengono utilizzati nelle applicazioni Java o nelle applet Java che vengono eseguite sul client o nel livello intermedio di una configurazione a tre livelli. Sul lato server, questo driver viene utilizzato per accedere a un'istanza remota di Oracle Database o a un'altra sessione sullo stesso database.
node-oracledbnode-oracledbè il driverNode.jsper la connessione a Oracle Database.python-oracledbpython-oracledbè il driver Python per la connessione a Oracle Database.- Oracle Data Provider for .NET (ODP.NET)
Oracle Data Provider for .NET ha ottimizzato l'accesso ai dati ADO.NET a Oracle Database. ODP.NET consente agli sviluppatori di sfruttare le funzionalità avanzate di Oracle Database, tra cui Oracle Real Application Clusters (Oracle RAC), cache delle istruzioni con tuning automatico, continuità dell'applicazione e failover della connessione rapida.
Sono disponibili tre tipi di driver:- ODP.NET Core: progettato per applicazioni .NET (Core) multipiattaforma
- ODP.NET, Driver gestito: provider .NET Framework di codice gestito al 100%. Gli sviluppatori distribuiscono un singolo assembly in un package di distribuzione di dimensioni inferiori a 10 MB.
- ODP.NET, driver non gestito: provider ADO.NET Oracle tradizionale che utilizza il client Oracle Database.
- Connection pooling residente proxy (PRCP)
Il connection pooling residente nel proxy è la funzione di pooling di CMAN-TDM.
Utilizza la funzione del pool di sessioni di Oracle Call Interface per eseguire il multiplex di un numero elevato di connessioni client. Consente a più connessioni in entrata dai processi client di utilizzare un pool di connessioni in uscita connesse ai processi di database. Questi sono associati alle sessioni nel layer CMAN-TDM. PRCP fornisce un imbuto per le connessioni alle applicazioni senza sovraccarico del database o la necessità di client multi-thread. Le sessioni possono essere condivise da istanze di applicazioni diverse.
Informazioni sui prodotti e i ruoli richiesti
Questa soluzione richiede i seguenti prodotti e ruoli:
- Infrastruttura Oracle Cloud
-
Oracle Autonomous Database
- Oracle Database Client 21c o versione successiva su Oracle Linux
-
CMAN-TDM, versione 21.3.0.0.0 o successive
-
Applicazione client SQL*Plus: Release 21.3 o successiva
Questi sono i ruoli necessari per ogni prodotto o servizio.
| Nome servizio: ruolo | Obbligatorio per... |
|---|---|
Oracle Autonomous Database: root |
creare le directory utente, base e home oracle per l'esecuzione di CMAN. Installare le librerie di preinstallazione dell'ultima versione di Oracle Database per impostare l'utente oracle in Linux.
È inoltre necessario aprire la porta e aggiungere l'indirizzo CMAN-TDM per il server CMAN-TDM nel file |
Oracle Autonomous Database: admin |
controllare la connessione al database a CMAN, creare l'utente proxy del database, creare il wallet utente proxy del database, creare un utente dell'applicazione CMAN-TDM per l'accesso generale all'applicazione, aggiungere i privilegi dell'utente proxy del database tdm a tutti gli utenti dell'applicazione che richiedono l'accesso a Oracle Autonomous Database tramite CMAN-TDM.
|
Oracle Autonomous Database: oracle |
impostare la variabile di ambiente TNS_ADMIN, configurare CMAN-TDM per la connessione a Oracle Autonomous Database |
| Oracle Cloud Infrastructure: account Oracle Cloud | connettersi a Oracle Cloud e creare servizi, tra cui Oracle Autonomous Database. |
CMAN: utente app
|
connettersi al database mediante CMAN-TDM. L'utente app deve essere registrato con Oracle Autonomous Database.
|
Consulta i prodotti, le soluzioni e i servizi Oracle per ottenere ciò di cui hai bisogno.
