Chargement des connexions et gestion de la sécurité avec le proxy de base de données Oracle Connection Manager
Architecture
Cette architecture décrit une configuration de base. Il existe d'autres modes de connexion avancés PRCP (Proxy Resident Connection Pooling) et Threaded qui augmentent les performances de CMAN-TDM. Ces fonctionnalités optimisent l'utilisation des ressources de base de données grâce à l'équilibrage de charge dynamique et à la gestion intelligente des pools.
Dans l'exemple d'architecture suivant, Oracle Autonomous Database Serverless est situé dans Oracle Cloud, mais le même principe s'applique à un cloud tiers.
Cette architecture prend en charge les composants suivants :
- CMAN TDM
Oracle Connection Manager (CMAN) est un serveur proxy qui transmet les demandes de connexion aux bases de données ou à d'autres serveurs proxy. Il transfère la connexion et les données entre la base de données et le client lors de l'authentification . CMAN fonctionne au niveau de la session et réside généralement sur un ordinateur distinct du serveur de base de données et des ordinateurs client.
CMAN fournit les éléments suivants :- Contrôle d'accès : permet d'utiliser la configuration basée sur des règles pour filtrer les demandes client spécifiées par l'utilisateur et en accepter d'autres.
- Multiplexage de session : pour acheminer plusieurs sessions client via une connexion réseau vers une destination de serveur partagé.
Traffic Director Mode (TDM) est une fonctionnalité d'intelligence facultative de CMAN qui agit en tant que proxy de base de données pour l'application. TDM ajoute les dimensions supplémentaires de la haute disponibilité transparente grâce à la prise en charge des pannes, aux fonctionnalités de sécurité améliorées sur le cloud (DoS et protection contre les attaques fuzzing, isolation des locataires, etc.) et aux fonctionnalités de réglage des performances.
CMAN-TDM permet à n'importe quelle application client de se connecter à Oracle Database (sur site et dans le cloud) sans exposer les détails de la base de données sous-jacente au client. Il est interopérable avec différentes versions d'Oracle Database.
- Oracle Call Interface (OCI)
Oracle Call Interface est une interface C native complète et hautes performances d'Oracle Database pour les applications personnalisées ou packagées.
Les API fournissent une interface à Oracle Database pour effectuer des tâches d'administration de base de données. Ils constituent la base sur laquelle sont construites d'autres interfaces spécifiques à la langue. Par exemple, Oracle Data Provider for Net-Core (ODP.Net, Unmanaged), Oracle Precompilers (Pro*C), Oracle ODBC, Oracle C++ Call Interface (OCCI) et les pilotes de langage de script pour
node-oracledbetpython-oracledb. CMAN-TDM fonctionne également avec PHP OCI8, ROracle, Godror, ruby-oci8, rust-oracle, etc. - JDBC (Java Database Connectivity)
Le pilote Java Database Connectivity fournit des API Java qui permettent les programmes Java. Il fournit aux applications Java un moyen standard de se connecter aux données des bases de données relationnelles et d'autres sources de données sous forme de tableaux et de les manipuler. JDBC utilise un "pilote" pour faciliter cette interaction, avec différents types de pilotes offrant différents niveaux de performances et de dépendance de plate-forme.
-
JDBC Thin
Le pilote léger JDBC est un pilote Java pur de type IV. Le pilote offre des performances élevées, comparables à celles fournies par le pilote JDBC Oracle Call Interface. Le pilote JDBC Thin est entièrement écrit en Java, léger, indépendant de la plate-forme et ne nécessite aucun logiciel Oracle supplémentaire côté client.
Le pilote léger JDBC communique avec le serveur à l'aide de TTC, un protocole développé par Oracle pour accéder aux données à partir d'Oracle Database. Il peut être utilisé pour les serveurs d'applications ainsi que pour les applets. Le pilote permet une connexion directe à la base de données en fournissant une implémentation de TCP/IP qui implémente Oracle Net et TTC sur les sockets Java. Ces deux protocoles sont des versions d'implémentation légères de leurs homologues sur le serveur. Le protocole Oracle Net s'exécute sur TCP/IP uniquement.
Vous pouvez utiliser le pilote JDBC Thin côté client et côté serveur. Du côté client, les pilotes sont utilisés dans les applications Java ou les applets Java qui s'exécutent sur le client ou dans le niveau intermédiaire d'une configuration à trois niveaux. Sur le côté serveur, ce pilote est utilisé pour accéder à une instance Oracle Database distante ou à une autre session sur la même base de données.
node-oracledbnode-oracledbest le piloteNode.jspour la connexion à Oracle Database.python-oracledbpython-oracledbest le pilote Python pour la connexion à Oracle Database.- Oracle Data Provider for .NET (ODP.NET)
Oracle Data Provider for .NET offre un accès aux données ADO.NET optimisé pour Oracle Database. ODP.NET permet aux développeurs de tirer parti des fonctionnalités avancées d'Oracle Database, notamment Oracle Real Application Clusters (Oracle RAC), du cache d'instructions à réglage automatique, de la continuité des applications et du basculement rapide des connexions.
Il existe trois types de pilote :- ODP.NET Core : Conçu pour les applications multiplateformes .NET (Core)
- ODP.NET, pilote géré : fournisseur .NET Framework de code géré à 100 %. Les développeurs déploient un assemblage unique dans un package de déploiement de moins de 10 Mo.
- ODP.NET, pilote non géré : fournisseur Oracle ADO.NET traditionnel qui utilise le client Oracle Database.
- Pool de connexions résidentes proxy (PRCP)
Le regroupement en pool de connexions par proxy résident est la fonction de regroupement en pool de CMAN-TDM.
Il utilise la fonctionnalité de pool de sessions d'Oracle Call Interface pour multiplexer un grand nombre de connexions client. Il permet à plusieurs connexions entrantes des processus client d'utiliser un pool de connexions sortantes connectées aux processus de base de données. Ils sont associés aux sessions de la couche CMAN-TDM. PRCP fournit un entonnoir pour les connexions d'application sans surcharge de base de données ni besoin de clients multithread. Différentes instances d'application peuvent partager des sessions.
A propos des produits requis et des rôles
Cette solution requiert les produits et rôles suivants :
- Oracle Cloud Infrastructure
-
Oracle Autonomous Database
- Client Oracle Database 21c ou version ultérieure sur Oracle Linux
-
CMAN-TDM, version 21.3.0.0.0 ou supérieure
-
Application client SQL*Plus : version 21.3 ou supérieure
Il s'agit des rôles nécessaires pour chaque produit ou service.
| Nom du service : Rôle | Obligatoire pour... |
|---|---|
Oracle Autonomous Database : root |
Créez les répertoires utilisateur, de base et d'accueil oracle pour exécuter CMAN. Installez les bibliothèques de préinstallation de la dernière version d'Oracle Database pour configurer l'utilisateur oracle sous Linux.
Vous devez également ouvrir le port et ajouter l'adresse CMAN-TDM pour le serveur CMAN-TDM dans le fichier |
Oracle Autonomous Database : admin |
vérifiez la connexion de base de données à CMAN, créez l'utilisateur proxy de base de données, créez le portefeuille de l'utilisateur proxy de base de données, créez un utilisateur d'application CMAN-TDM pour un accès général à l'application, ajoutez les privilèges tdm de l'utilisateur proxy de base de données à tous les utilisateurs d'application nécessitant un accès à Oracle Autonomous Database via CMAN-TDM.
|
Oracle Autonomous Database : oracle |
définir la variable d'environnement TNS_ADMIN, configurer CMAN-TDM pour la connexion à Oracle Autonomous Database |
| Oracle Cloud Infrastructure : compte Oracle Cloud | Connectez-vous à Oracle Cloud et créez des services, y compris Oracle Autonomous Database. |
CMAN : utilisateur app
|
Connectez-vous à la base de données via CMAN-TDM. L'utilisateur app doit être inscrit auprès d'Oracle Autonomous Database.
|
Reportez-vous à Produits, solutions et services Oracle pour obtenir ce dont vous avez besoin.
