Visión general de la conexión a un sistema de base de datos
En este artículo se proporciona una introducción sobre los distintos valores necesarios para conectarse a un sistema de base de datos activo. La forma en que se conecta depende de la herramienta del cliente o el protocolo que se utilice, la finalidad de la conexión y la configuración de la red en la nube.
Note:
Si bien puede encontrar información sobre diversos escenarios de red en Visión general de Networking, para obtener recomendaciones específicas sobre cómo debe conectarse a una base de datos en la nube, consulte al administrador de seguridad de su red.Requisitos
- Para utilizar la consola o la API para obtener las cadenas de conexión del servicio de administración por defecto, se le debe otorgar el tipo de acceso necesario en una política escrita por un administrador, tanto si utiliza la consola o la API de REST con un SDK, una CLI u otra herramienta. Si intenta realizar una acción y obtiene un mensaje que indica que no tiene permiso o que no está autorizado, confirme con el administrador el tipo de acceso que se le ha otorgado y en qué compartimento debe trabajar.
-
Para conectarse a la base de datos, necesita la dirección IP pública o privada del sistema de base de datos.
Utilice la dirección IP privada para conectarse al sistema desde su red local o desde la red virtual en la nube (VCN). Esto incluye la conexión desde un host ubicado en el entorno local mediante una VPN o FastConnect a la VCN, o desde otro host de la misma VCN. Utilice la dirección IP pública para conectarse al sistema fuera de la nube (sin VPN). Puede buscar las direcciones IP en la consola de la siguiente manera:
- En la página Detalles de sistema de base de datos, en Recursos, haga clic en Nodos.
- La Dirección IP pública y la Dirección IP privada y nombre de DNS se muestran en las columnas de la tabla.
- Para el acceso con Secure Shell (SSH) al sistema de base de datos, necesitará la ruta de acceso completa al archivo que contiene la clave privada asociada a la clave pública utilizada cuando se inició el sistema de base de datos.
Si tiene problemas para conectarse, consulte Solución de incidencias de conexión.
Servicios de base de datos y cadenas de conexión
Los servicios de base de datos permiten controlar el acceso de cliente a una instancia de base de datos según la funcionalidad necesaria. Por ejemplo, puede que necesite acceder a la base de datos solo para fines de administración o que necesite conectar una aplicación a la base de datos. Las cadenas de conexión son específicas de un servicio de base de datos.
Al aprovisionar un sistema de base de datos, se crea automáticamente un servicio de administración de base de datos por defecto. Para las instancias de Oracle Database 12c y versiones posteriores, este servicio se utiliza para administrar la base de datos en el nivel de CDB. Debido a que este servicio ofrece funciones limitadas, no es adecuado para conectar una aplicación. Oracle le recomienda crear un servicio de aplicación por defecto para la base de datos inicial después de crear el sistema de base de datos. Para las instancias de Oracle Database 12c y versiones posteriores, los servicios de aplicación se conectan en el nivel de PDB. Estas son algunas funciones importantes que puede proporcionar un servicio de aplicación:
- Identificación de la carga de trabajo
- Equilibrio de Carga
- Continuidad de la aplicación y gestor de transacciones
- Notificación rápida de aplicación
- Asignación de recursos basada en el nombre del servicio
Para obtener más información sobre estas y otras capacidades de alta disponibilidad, consulte Mejores prácticas de failover del cliente para bases de datos de Oracle altamente disponibles.
Creación de un servicio de aplicación
Use la utilidad srvctl
para crear un servicio de aplicación. Para poder conectarse al servicio, antes debe iniciarlo.
Puede crear un servicio de aplicación para una PDB o una instancia de Oracle database 11g mediante los siguientes pasos.
- Conéctese al host del sistema de base de datos como
opc
. - Cambie al usuario oracle y defina el entorno en la instancia de Oracle Database que desea administrar.
sudo su - oracle . oraenv
ORACLE_SID = [oracle] ? <database_name> The Oracle base has been set to /u01/app/oracle
- Cree el servicio de aplicación para la base de datos. Incluya la opción
pdb
solo si va a crear un servicio de aplicación para una 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
Tenga en cuenta que la opción preferida solo es necesaria en el caso de bases de datos de varios nodos para especificar el nombre de host del nodo en RAC.
- Inicie el servicio de aplicación.
srvctl start service -db <DB_unique_name> -s <app_service_name>
Para obtener más información sobre los servicios para una PDB, consulte Administración de las PDB.
Cadenas de conexión de base de datos
Debe utilizar la cadena de conexión adecuada para acceder al servicio de administración o aplicación de una base de datos. Puede utilizar la consola o la API para obtener la cadena para conectarse al servicio de administración por defecto desde la VCN. Para las instancias de Oracle Database 12c y versiones posteriores, este servicio se utiliza para administrar la base de datos en el nivel de CDB. La cadena se proporciona tanto en formato de conexión sencilla como de descriptor de conexión completo (largo). Utilice el formato largo para la conexión si la resolución del nombre de host no está disponible. También puede utilizar el formato largo para crear un alias en el archivo tnsnames.ora.
Para acceder a un servicio de base de datos dentro de una VCN, la cadena de conexión de un sistema de base de datos Real Application Cluster (RAC) utiliza el nombre único de acceso de cliente (SCAN), mientras que la cadena de conexión del sistema de base de datos de instancia única utiliza el nombre de host en su lugar.
El nombre de SCAN privado es una entrada DNS de asignación en rueda que se crea cuando inicia un sistema de base de datos RAC de 2 nodos. El nombre de SCAN privado solo se puede resolver dentro de la VCN. Si el cliente y la base de datos están en la misma VCN, el mecanismo de conexión es el mismo que el de una base de datos RAC local; todas las funciones proporcionadas por las VIP y las VIP SCAN, como el equilibrio de carga del servidor y el failover de VIP, están disponibles.
Note:
Si cambia manualmente DB_UNIQUE_NAME, DB_DOMAIN o el puerto del listener en el sistema de base de datos, las cadenas de conexión que vea en la consola o API no reflejarán los cambios. Asegúrese de utilizar los valores reales de estos parámetros al realizar una conexión.Obtención de las cadenas de conexión
Puede obtener las cadenas de conexión para el servicio de administración por defecto mediante los siguientes pasos.
- Abra el menú de navegación. Seleccione Oracle Database y, a continuación, Oracle Base Database Service.
- Seleccione el compartimento. Aparecerá una lista de sistemas de base de datos.
- En la lista de sistemas de base de datos, haga clic en el nombre del sistema de base de datos con la base de datos para la que necesita la cadena de conexión.
- Se mostrarán los detalles del sistema de base de datos seguidos de una lista de bases de datos.
- En la lista de bases de datos, haga clic en el nombre de la base de datos para la que necesita la cadena de conexión.
- Se mostrarán los detalles de la base de datos.
- En la página Detalles de la base de datos, haga clic en el menú Conexión de base de datos. Se mostrará una lista de cadenas de conexión.
- Haga clic en el enlace aplicable para ver o copiar la cadena de conexión.
Puede derivar las cadenas de conexión para otros servicios de base de datos reemplazando parte de la cadena de conexión del servicio de aplicación por defecto por los valores correspondientes.
Derivación de la cadena de conexión
Realice los siguientes pasos para derivar la cadena de conexión para un servicio de administración de PDB o un servicio de aplicación.
- Siga el procedimiento para obtener la cadena de conexión sencilla para el servicio de administración por defecto. Esta cadena debe tener el siguiente formato:
<hostname|SCAN>:1521/<DB_unique_name>.<DB_domain>
- Realice la sustitución adecuada:
-
Para el servicio de administración de PDB, reemplace
DB_unique_name
por el nombre de la PDB.<hostname|SCAN>:1521/<PDB_name>.<DB_domain>
-
Sustituya
DB_UNIQUE_NAME
por el nombre del servicio de aplicación.<hostname|SCAN>:1521/<app_service_name>.<DB_domain>
-
Uso de la API
Para obtener más información sobre el uso de la API y la firma de solicitudes, consulte API de REST y Credenciales de seguridad. Para obtener información sobre los SDK, consulte Software development kits e interfaz de línea de comandos.
Utilice la operación API GetDatabase para obtener las cadenas de conexión de servicio de administración por defecto.
Para obtener la lista completa de las API para el servicio Database, consulte API del servicio Database.