Gestion de la charge et de la sécurité des connexions avec le mandataire de base de données d'Oracle Connection Manager
Architecture
Cette architecture décrit une configuration de base. Il existe d'autres modes de connexion avancés de réserve de connexions résidentes du mandataire (PRCP) et des modes filés qui augmentent la performance de CMAN-TDM. Ces fonctions optimisent l'utilisation des ressources de base de données grâce à un équilibrage de charge dynamique et à une gestion intelligente du groupe.
Dans l'exemple d'architecture suivant, Oracle Autonomous Database Serverless est situé dans Oracle Cloud, mais le même principe s'applique à un nuage de tierce partie.
Cette architecture prend en charge les composants suivants :
- CMAN-TDM
Oracle Connection Manager (CMAN) est un serveur mandataire qui transmet les demandes de connexion aux bases de données ou à d'autres serveurs mandataires. 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 clients.
CMAN fournit les éléments suivants :- Contrôle d'accès : Permet d'utiliser une 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 : permet d'entonnoir plusieurs sessions client via une connexion réseau vers une destination de serveur partagé.
Le mode Traffic Director (TDM) est une fonction facultative d'intelligence de CMAN qui agit en tant que mandataire de base de données pour l'application. Le magasin de données relationnel ajoute les dimensions supplémentaires de la haute disponibilité transparente grâce à la prise en charge des pannes, aux fonctions de sécurité améliorées dans le nuage (DoS et protection contre les attaques par flou, à l'isolement des locataires, etc.) et aux fonctions de réglage de la performance.
CMAN-TDM permet à toute application client de se connecter à Oracle Database (sur place et en nuage) 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 complète, haute performance en langage C natif vers Oracle Database pour les applications personnalisées ou prêtes à l'emploi.
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 d'autres interfaces propres au langage sont construites. 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 de connectivité de base de données Java fournit des API Java qui permettent les programmes Java. Il fournit un moyen standard pour les applications Java de se connecter aux données des bases relationnelles et d'autres sources de données tabulaires 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 une dépendance à la plate-forme .
-
JDBC Thin
Le pilote JDBC Thin 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, est léger, indépendant de la plate-forme et ne nécessite aucun logiciel Oracle supplémentaire côté client.
Le pilote JDBC Thin communique avec le serveur à l'aide de TTC, un protocole développé par Oracle pour accéder aux données 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 mise en oeuvre de TCP/IP qui met en oeuvre Oracle Net et TTC au-dessus des 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. Du 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 optimisé aux données ADO.NET à 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), le cache d'énoncés à réglage automatique, la continuité des applications et la fonction Fast Connection Failover.
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 seul assemblage 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.
- Réserve de connexions de résident mandataire (PRCP)
La réserve de connexions de résident mandataire est la fonction de regroupement de CMAN-TDM.
Il utilise la fonction de pool de sessions d'Oracle Call Interface pour multiplexer un grand nombre de connexions client. Il permet à plusieurs connexions entrantes des processus clients d'utiliser un pool de connexions sortantes connectées aux processus de base de données. Ceux-ci sont associés à des 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.
À propos des produits et des rôles requis
Cette solution nécessite 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 ultérieure
Il s'agit des rôles nécessaires pour chaque produit ou service.
| Nom du service : Rôle | Requis pour... |
|---|---|
Oracle Autonomous Database : root |
créer les répertoires d'utilisateur, de base et de répertoire de base 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 dans Linux.
Également requis pour ouvrir le port et ajouter l'adresse CMAN-TDM du serveur CMAN-TDM dans le fichier |
Oracle Autonomous Database : admin |
Vérifiez la connexion de la base de données à CMAN, créez l'utilisateur mandataire de la base de données, créez le portefeuille de l'utilisateur mandataire de la 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 mandataire de la base de données à tous les utilisateurs d'application nécessitant un accès à Oracle Autonomous Database au moyen de 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 | vous connecter à Oracle Cloud et créer des services, notamment Oracle Autonomous Database. |
CMAN : Utilisateur app
|
vous connecter à la base de données au moyen de CMAN-TDM. L'utilisateur app doit être enregistré auprès d'Oracle Autonomous Database.
|
Voir Produits, solutions et services Oracle pour obtenir ce dont vous avez besoin.
