Carga de Conexiones y Gestión de Seguridad con el Proxy de Base de Datos de Oracle Connection Manager
Arquitectura
Esta arquitectura describe una configuración básica. Hay otros modos de conexión avanzada de pool de conexiones residentes de proxy (PRCP) y modos roscados que aumentan el rendimiento de CMAN-TDM. Estas funciones optimizan el uso de los recursos de la base de datos mediante el equilibrio de carga dinámico y la gestión inteligente de pools.
En la siguiente arquitectura de ejemplo, Oracle Autonomous Database Serverless se encuentra en Oracle Cloud, pero el mismo principio se aplica a una nube de terceros.
Esta arquitectura admite los siguientes componentes:
- CMAN-TDM
Oracle Connection Manager (CMAN) es un servidor proxy que reenvía solicitudes de conexión a bases de datos u otros servidores proxy. Transfiere la conexión y los datos entre la base de datos y el cliente en la autenticación. CMAN funciona en el nivel de sesión y, por lo general, reside en una computadora separada de las computadoras cliente y servidor de base de datos.
CMAN proporciona lo siguiente:- Control de acceso: Para usar la configuración basada en reglas para filtrar las solicitudes de cliente especificadas por el usuario y aceptar otras.
- Multiplexación de sesiones: para canalizar varias sesiones de cliente a través de una conexión de red a un destino de servidor compartido.
El modo de director de tráfico (TDM) es una función de inteligencia opcional de CMAN que actúa como proxy de base de datos para la aplicación. TDM añade las dimensiones adicionales de alta disponibilidad (HA) transparente a través del soporte de interrupciones, funciones de seguridad mejoradas en la nube (DoS y protección contra ataques difusos, aislamiento de inquilinos, etc.) y capacidades de ajuste del rendimiento.
CMAN-TDM permite que cualquier aplicación cliente se conecte a Oracle Database (tanto local como en la nube) sin exponer los detalles de la base de datos subyacente al cliente. Es interoperable con diferentes versiones de Oracle Database.
- Oracle Call Interface (OCI)
Oracle Call Interface es una interfaz de lenguaje C nativo, completa y de alto rendimiento para Oracle Database para aplicaciones personalizadas o empaquetadas.
Las API proporcionan una interfaz a Oracle Database para realizar tareas de administración de bases de datos. Son la base sobre la que se construyen otras interfaces específicas del idioma. Por ejemplo, Oracle Data Provider for Net-Core (ODP.Net, Unmanaged), Oracle Precompilers (Pro*C), Oracle ODBC, Oracle C++ Call Interface (OCCI) y controladores de lenguaje de scripts para
node-oracledbypython-oracledb. CMAN-TDM también funciona con PHP OCI8, ROracle, Godror, ruby-oci8, rust-oracle, etc. - Conectividad de Bases de Datos Java (JDBC)
El controlador de conectividad de base de datos Java proporciona API de Java que permiten los programas Java. Proporciona una forma estándar para que las aplicaciones Java se conecten y manipulen datos en bases de datos relacionales y otros orígenes de datos tabulares. JDBC utiliza un "controlador" para facilitar esta interacción, con diferentes tipos de controladores que ofrecen diferentes niveles de rendimiento y dependencia de la plataforma.
-
JDBC Thin
El controlador JDBC Thin es un controlador Java puro de tipo IV. El controlador proporciona un alto rendimiento, comparable al rendimiento proporcionado por el controlador JDBC Oracle Call Interface. El controlador JDBC Thin está escrito completamente en Java, es ligero, independiente de la plataforma y no requiere ningún software de Oracle adicional en el lado del cliente.
El controlador JDBC Thin se comunica con el servidor mediante TTC, un protocolo desarrollado por Oracle para acceder a los datos de Oracle Database. Se puede utilizar tanto para servidores de aplicaciones como para applets. El controlador permite una conexión directa a la base de datos al proporcionar una implantación de TCP/IP que implanta la red de Oracle y TTC sobre los sockets de Java. Ambos protocolos son versiones ligeras de implementación de sus homólogos en el servidor. El protocolo de red de Oracle sólo se ejecuta sobre TCP/IP.
Puede utilizar el controlador JDBC Thin en el cliente y en el servidor. En el lado del cliente, los controladores se utilizan en aplicaciones Java o applets Java que se ejecutan en el cliente o en la capa media de una configuración de tres niveles. En el lado del servidor, este controlador se utiliza para acceder a una instancia remota de Oracle Database u otra sesión en la misma base de datos.
node-oracledbnode-oracledbes el controladorNode.jspara conectarse a Oracle Database.python-oracledbpython-oracledbes el controlador de Python para conectarse a Oracle Database.- Oracle Data Provider for .NET (ODP.NET)
Oracle Data Provider for .NET optimiza el acceso a los datos ADO.NET en Oracle Database. ODP.NET permite a los desarrolladores aprovechar la funcionalidad avanzada de Oracle Database, incluidos Oracle Real Application Clusters (Oracle RAC), la caché de sentencias de ajuste automático, la continuidad de aplicaciones y el failover de conexión rápida.
Hay tres tipos de controladores:- ODP.NET Core: diseñado para aplicaciones .NET (core) multiplataforma
- ODP.NET, controlador gestionado: proveedor .NET Framework de código gestionado al 100%. Los desarrolladores despliegan un único ensamblaje en un paquete de despliegue de menos de 10 MB.
- ODP.NET, Controlador no gestionado: proveedor ADO.NET de Oracle tradicional que utiliza el cliente de Oracle Database.
- Pool de conexiones residentes de proxy (PRCP)
La agrupación de conexiones residentes de proxy es la función de agrupación de CMAN-TDM.
Utiliza la función de pool de sesiones de Oracle Call Interface para multiplexar un gran número de conexiones de cliente. Permite que varias conexiones entrantes de procesos de cliente utilicen un pool de conexiones salientes conectadas a procesos de base de datos. Se asocian a sesiones de la capa CMAN-TDM. PRCP proporciona un embudo para conexiones de aplicaciones sin sobrecarga de base de datos ni la necesidad de clientes multithread. Diferentes instancias de aplicación pueden compartir sesiones.
Acerca de los productos y roles necesarios
Esta solución requiere los siguientes productos y roles:
- Oracle Cloud Infrastructure
-
Oracle Autonomous Database
- Cliente de Oracle Database 21c o posterior en Oracle Linux
-
CMAN-TDM, versión 21.3.0.0.0 o superior
-
Aplicación cliente SQL*Plus: versión 21.3 o superior
Estos son los roles necesarios para cada producto o servicio.
| Nombre de servicio: Rol | Necesario para... |
|---|---|
Oracle Autonomous Database: root |
Crear los directorios de usuario, base y directorio raíz oracle para ejecutar CMAN. Instale las bibliotecas de preinstalación de la última versión de Oracle Database para configurar el usuario oracle en Linux.
También se requiere para abrir el puerto y agregar la dirección CMAN-TDM para el servidor CMAN-TDM en el archivo |
Oracle Autonomous Database: admin |
Compruebe la conexión de base de datos a CMAN, cree el usuario de proxy de base de datos, cree la cartera de usuario de proxy de base de datos, cree un usuario de aplicación CMAN-TDM para el acceso general a la aplicación, agregue los privilegios tdm del usuario de proxy de base de datos a todos los usuarios de la aplicación que necesiten acceso a Oracle Autonomous Database mediante CMAN-TDM.
|
Oracle Autonomous Database: oracle |
Definir la variable de entorno TNS_ADMIN y configurar CMAN-TDM para conectarse a Oracle Autonomous Database |
| Oracle Cloud Infrastructure: cuenta de Oracle Cloud | Conéctese a Oracle Cloud y cree servicios, incluido Oracle Autonomous Database. |
CMAN: usuario app
|
Conectarse a la base de datos mediante CMAN-TDM. El usuario app debe estar registrado con Oracle Autonomous Database.
|
Consulte Productos, soluciones y servicios de Oracle para obtener lo que necesita.
