Conexión a una base de datos
Puede conectarse a una base de datos en Data Infrastructure después de conectarse a una máquina virtual o de forma remota mediante Oracle Net Services.
Utilice SSH para conectarse a una máquina virtual cuando necesite acceso al sistema operativo antes de conectarse a una base de datos. Utilice Oracle Net Services cuando necesite acceso remoto a la base de datos desde un cliente.
Conexión a una base de datos después de conectarse a una máquina virtual
Después de conectarse a una máquina virtual, puede utilizar los comandos del sistema operativo para identificar una base del datos y conectarse a ella.
-
Conéctese a la máquina virtual como usuario
opc.Para obtener más información sobre los pasos, consulte Connect to a VM with SSH.
-
Cambie al usuario
oracle.sudo su - oracle -
Utilice la utilidad
srvctlque se encuentra en el directorio raíz de Oracle Grid Infrastructure para mostrar una lista de las bases del cluster de VM.grid-home/bin/srvctl config database -v -
Identifique las instancias de la base de datos a las que desea acceder.
grid-home/bin/srvctl status database -d <dbname> -
Configure los ajustes del entorno de la base de datos a la que desea acceder.
. oraenvEn la petición de datos, introduzca el identificador del sistema (SID) Oracle para la base de datos.
ORACLE_SID = [oracle] ? <dbname> -
Defina la variable de entorno
ORACLE_SIDen la instancia de base de datos a la que desea acceder.export ORACLE_SID=<dbname1> -
Opcionalmente, utilice el comando
srvctlpara mostrar información más detallada sobre la base de datos.srvctl config database -d <dbname> -
Conéctese a la base de datos mediante SQL*Plus.
sqlplus / as sysdba
Conexión a una base de datos con Oracle Net Services
Puede conectarse a una base de datos en Data Infrastructure de forma remota mediante Oracle Net Services.
Dado que Data Infrastructure utiliza Oracle Grid Infrastructure, se pueden crear conexiones de los servicios de Oracle Net Services mediante conexiones de nombre único del acceso del cliente (SCAN). SCAN proporciona un mecanismo consistente para que los clientes accedan a las instancias de base de datos que se ejecutan en un cluster de VM.
Por defecto, el SCAN está asociado a tres direcciones IP virtuales (VIP). Cada VIP de SCAN está asociada a un listener de SCAN que proporciona un punto final en conexión para las conexiones de base de datos que utilizan Oracle Net Services. Para maximizar su disponibilidad, Oracle Grid Infrastructure distribuye las VIP de SCAN y los listeners SCAN por todos los nodos de cluster de VM disponibles. Si un nodo se cierra o falla, las VIP de SCAN y los listeners de SCAN se migran automáticamente a un nodo disponible.
Mediante el uso de conexiones SCAN, los clientes de Oracle AI Database tienen un juego fiable de puntos finales de conexión que pueden servir las bases de datos que se ejecutan en el cluster de VM.
Los listeners de SCAN son además de los listener de Oracle Net que se ejecutan en cada nodo del cluster de VM, que también se conocen como listeners de nodo. Cuando una conexión del servicio Oracle Net Services llega a través de una conexión del SCAN, el listener del SCAN enruta la conexión a uno de los listeners de nodo y no desempeña ningún otro rol en la conexión. Una combinación de factores, entre los que se incluyen la disponibilidad del listener, la ubicación de la instancia de la base de datos y la distribución de la carga de trabajo, determina qué listener del nodo recibe cada conexión.
En esta documentación se proporcionan los requisitos básicos para la conexión a las bases de datos de Data Infrastructure mediante Oracle Net Services.
Requisitos para conectarse a una base de datos con Oracle Net Services
- Las direcciones IP para las VIP de SCAN, o el nombre de host o la dirección IP de una máquina virtual que aloja la base de datos a la que desea acceder.
- El identificador de base de datos, el identificador de sistema (SID) de base de datos o un nombre de servicio.
Conexión a una base de datos mediante SCAN
Para crear una conexión de Oracle Net Services mediante los listeners de SCAN, puede elegir entre los siguientes enfoques:
- Defina un descriptor de conexión que haga referencia a todas las VIP de SCAN.
- Definición de un descriptor de conexión que haga referencia a un nombre de SCAN personalizada.
Conexión a una base de datos mediante un descriptor de conexión que haga referencia a todas las VIP de SCAN
Puede configurar un descriptor de conexión mediante varios listeners de SCAN.
Este enfoque requiere que usted proporcione todas las direcciones VIP del SCAN y permite que los servicios de Oracle Net Services se conecte a un listener SCAN disponible.
-
Utilice la siguiente plantilla para definir un alias de servicios de red:
<alias-name> = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=<SCAN-VIP-1>)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=<SCAN-VIP-2>)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=<SCAN-VIP-3>)(PORT=1521))) (CONNECT_DATA=(<sid-or-service-entry>)))donde:
<alias-name>es el nombre que utiliza para identificar el alias.<SCAN-VIP-1>,<SCAN-VIP-2>y<SCAN-VIP-3>son las direcciones IP de las VIP de SCAN.<sid-or-service-entry>identifica el SID o nombre del servicio de la base de Datos con uno de los siguientes formatos:SID=sid-name. Por ejemplo:SID=DBNAME1.SERVICE_NAME=service-name. Por ejemplo:SERVICE_NAME=pdb1.example.com.
Por defecto, Oracle Net Services selecciona aleatoriamente una de las direcciones de la lista de direcciones para equilibrar la carga entre los listeners de SCAN.
Conexión a una Base de Datos mediante un Descriptor de Conexión que Hace Referencia a un Nombre de SCAN Personalizado
Puede configurar un descriptor de conexión mediante un nombre de SCAN personalizado.
Con este enfoque, puede definir un nombre de SCAN personalizado en el servidor de nombres de dominio (DNS). El nombre de SCAN personalizado se resuelve en las tres direcciones VIP de SCAN.
-
Utilice la siguiente plantilla para definir un alias de Net Services que haga referencia al nombre de SCAN personalizado:
<alias-name> = (DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=<scan-name>)(PORT=1521))) (CONNECT_DATA=(<sid-or-service-entry>)))donde:
<alias-name>es el nombre que utiliza para identificar el alias.<scan-name>es el nombre del SCAN personalizado.<sid-or-service-entry>identifica el SID o nombre del servicio de la base de Datos con uno de los siguientes formatos:SID=sid-name. Por ejemplo:SID=DBNAME1.SERVICE_NAME=service-name. Por ejemplo:SERVICE_NAME=pdb1.example.com.
-
También se puede utilizar el método de conexión sencillo para especificar un descriptor de conexión con el siguiente formato:
<scan-name>:1521/<sid-or-service-entry>Por ejemplo:
dbscan.example.com:1521/DBNAME1o:
dbscan.example.com:1521/pdb1.example.com
Conexión a una base de datos mediante un listener de nodo
Para conectarse a una base de datos con un descriptor de conexión que omite los listeners de SCAN, enrute la conexión directamente a un listener de nodo.
Con este método, se renuncia a la alta disponibilidad y al equilibrio de carga que proporciona SCAN. Sin embargo, este método puede ser útil cuando desea dirigir conexiones a un nodo o una interfaz de red específicos.
-
Utilice la siguiente plantilla para definir un alias del servicio de red que hace referencia directamente al nodo:
<alias-name> = (DESCRIPTION= (CONNECT_TIMEOUT=<timeout>) (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=<node>)(PORT=1521))) (CONNECT_DATA=(<sid-or-service-entry>)))donde:
<alias-name>es el nombre que utiliza para identificar el alias.<timeout>especifica un período de timeout, en segundos, que permite terminar un intento de conexión sin tener que esperarlo por un timeout de TCP. El parámetro(CONNECT_TIMEOUT=timeout)es opcional.<node>es el nombre de host o la dirección IP de la máquina virtual que desea utilizar.<sid-or-service-entry>identifica el SID o nombre del servicio de la base de Datos con uno de los siguientes formatos:SID=sid-name. Por ejemplo:SID=DBNAME1.SERVICE_NAME=service-name. Por ejemplo:SERVICE_NAME=pdb1.example.com.
-
También se puede utilizar el método de conexión sencillo para especificar un descriptor de conexión con el siguiente formato:
<node>:1521/<sid-or-service-entry>Por ejemplo:
node01.example.com:1521/DBNAME1o:
node01.example.com:1521/pdb1.example.com