Conexión a una instancia de Exadata Cloud Infrastructure

En este tema se explica cómo conectarse a una instancia de Exadata Cloud Infrastructure mediante SSH o SQL Developer.

La forma en que se conecte dependerá de cómo está configurada la red en la nube. 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.

Nota

Los servidores de Exadata Cloud Infrastructure no se pueden unir a dominios de Active Directory, y el servicio no soporta el uso de Active Directory para la autenticación y autorización de usuarios.

Requisitos

Lista de requisitos para el acceso SSH a un nodo de cálculo en una instancia de Exadata Cloud Infrastructure.

Necesitará lo siguiente:

  • La ruta de acceso completa al archivo que contiene la clave privada asociada a la clave pública utilizada cuando se inició el sistema.

  • La dirección IP pública o privada de la instancia de Exadata Cloud Infrastructure.

    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 a través de 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 encontrar las direcciones IP en la consola de Oracle Cloud Infrastructure de la siguiente manera:

    • Clusters de VM en la nube (nuevo modelo de recursos): en la página Detalles de cluster de VM de Exadata, haga clic en Máquinas virtuales en la lista Recursos.
    • Sistemas de base de datos: en la página Detalles de sistema de base de datos, haga clic en Nodos en la lista Recursos.

    Los valores se muestran en las columnas Dirección IP pública y Dirección IP privada y nombre de DNS de la tabla que muestra las Máquinas virtuales o los Nodos de la instancia de Exadata Cloud Infrastructure.

Valor del puerto de listener de SCAN

Al crear un cluster de VM en la nube, puede designar opcionalmente un número de puerto de listener de SCAN diferente.

El puerto de listener de SCAN por defecto para los clusters de VM en la nube es 1521. Al utilizar la consola para la Creación de un recurso de cluster de VM en la nube, puede designar opcionalmente un número de puerto de listener de SCAN diferente. En la consola de OCI, esta opción aparece en Opciones avanzadas cuando se crea el cluster.

Nota

El cambio manual del puerto del listener de SCAN de un cluster de VM después del aprovisionamiento utilizando el software de backend no está soportado. Este cambio puede provocar que falle el aprovisionamiento de Data Guard.

Conexión a una máquina virtual con SSH

Puede conectarse a las máquinas virtuales de un sistema Exadata Cloud Infrastructure mediante una conexión de shell seguro (SSH).

La mayoría de los sistemas de tipo Unix (incluidos Linux, Oracle Solaris y macOS) incluyen un cliente SSH. En los sistemas Microsoft Windows, puede descargar un cliente SSH gratuito denominado PuTTY desde el siguiente sitio: "http://www.putty.org".

Temas relacionados

Conexión desde un sistema de tipo Unix

Para acceder a una máquina virtual en un sistema ExaDB-D de Oracle desde un sistema de tipo Unix mediante SSH, utilice este procedimiento.

  • Introduzca el siguiente comando SSH para acceder a la máquina virtual:
    ssh –i private-key user@node

    En la sintaxis anterior:

    • private-key es la ruta completa y el nombre del archivo que contiene la clave privada SSH que se corresponde con una clave pública registrada en el sistema.
    • user es el usuario del sistema operativo con el que desea conectarse:
      • Para realizar operaciones como propietario del software de Oracle Database, conéctese como opc y su oracle. El usuario oracle no tiene acceso de usuario root a la máquina virtual.
      • Para realizar operaciones que requieran acceso root a la máquina virtual, como la aplicación de parches, conéctese como opc. El usuario opc puede utilizar el comando sudo -s para obtener acceso root a la máquina virtual.
    • node es el nombre de host o la dirección IP de la máquina virtual a la que desea acceder.

Conexión a una máquina virtual desde un sistema Microsoft Windows mediante PuTTY

Obtenga información sobre cómo acceder a una máquina virtual desde un sistema Microsoft Windows mediante PuTTY.

Antes de empezar

Antes de utilizar el programa PuTTY para conectarse a una máquina virtual, necesita lo siguiente:
  • La dirección IP de la máquina virtual

  • Archivo de claves privadas SSH que coincide con la clave pública asociada al despliegue. Este archivo de clave privada debe tener el formato PuTTY .ppk. Si el archivo de clave privada se ha creado originalmente en la plataforma Linux, puede utilizar el programa PuTTYgen para convertirlo al formato .ppk.

Para conectarse a una máquina virtual mediante el programa PuTTY en Windows:

  1. Descargue e instale PuTTY.

    Para descargar PuTTY, vaya a http://www.putty.org/ y haga clic en el enlace You can download PuTTY here (Puede descargar PuTTY aquí).

  2. Ejecute el programa PuTTY (putty.exe).

    Aparecerá la ventana de configuración de PuTTY, que muestra el panel Session (Sesión).

  3. En el campo Host Name (or IP address) (Nombre de host [o dirección IP]), introduzca el nombre de host o la dirección IP de la máquina virtual a la que desea acceder.
  4. Confirme que la opción Tipo de conexión está definida en SSH.
  5. En el árbol Categoría, amplíe Conexión si es necesario y, a continuación, haga clic en Datos.

    Se mostrará el panel Data (Datos).

  6. En el campo Nombre de usuario de conexión automática, introduzca el usuario del sistema operativo con el que desea conectarse:
    1. Conéctese como usuario opc para realizar operaciones que requieren acceso root u oracle a la máquina virtual, como la copia de seguridad o la aplicación de parches; este usuario puede utilizar el comando sudo para obtener acceso root u oracle a la máquina virtual.
  7. Confirme que la opción Si no se especifica el nombre de usuario está definida en Solicitar.
  8. En el árbol Categoría, amplíe SSH y, a continuación, haga clic en Autenticación.

    Se mostrará el panel Auth (Autenticación).

  9. Haga clic en el botón Examinar junto al campo Archivo de clave privada para la autenticación. A continuación, en la ventana Select private key file (Seleccionar archivo de clave privada), vaya al archivo de clave privada que coincida con la clave pública asociada al despliegue y ábralo.
  10. En el árbol Categoría, haga clic en Sesión.

    Aparecerá el panel Session (Sesión).

  11. En el campo Sesiones guardadas, introduzca un nombre para la configuración de conexión. A continuación, haga clic en Guardar.
  12. Haga clic en Abrir para abrir la conexión.

    Se cerrará la ventana Configuración de PuTTY y se mostrará la ventana de terminal de PuTTY.

    Si es la primera vez que se conecta a la VM, se mostrará la ventana PuTTY Security Alert (Alerta de seguridad de PuTTY) que solicita que confirme la clave pública. Haga clic en Yes (Sí) para continuar la conexión.

Acceso a una base de datos después de conectarse a la máquina virtual

Después de conectarse a una máquina virtual, puede utilizar la siguiente serie de comandos para identificar una base de datos y conectarse a ella.

  1. Utilice SSH para conectarse como usuario opc.
  2. sudo su oracle
  3. Utilice la utilidad srvctl que se encuentra en el directorio raíz de Oracle Grid Infrastructure para ver una lista de las bases de datos del sistema. Por ejemplo:
    /u01/app/12.2.0.1/grid/bin/srvctl config database -v
    nc122   /u02/app/oracle/product/12.2.0/dbhome_6 12.2.0.1.0
    s12c    /u02/app/oracle/product/12.2.0/dbhome_2 12.2.0.1.0
  4. Identifique las instancias de la base de datos a las que desea acceder. Por ejemplo:
    /u01/app/12.2.0.1/grid/bin/srvctl status database -d s12c
    Instance s12c1 is running on node node01
    Instance s12c2 is running on node node02
  5. Configure los ajustes del entorno de la base de datos a la que desea acceder. Por ejemplo:
    . oraenv
    ORACLE_SID = [oracle] ? s12c
    The Oracle base has been set to /u02/app/oracle
    export ORACLE_SID=s12c1
  6. Puede utilizar el comando svrctl para visualizar información más detallada sobre la base de datos. Por ejemplo:
    srvctl config database -d s12c
    Database unique name: s12c
    Database name:
    Oracle home: /u02/app/oracle/product/12.2.0/dbhome_2
    Oracle user: oracle
    Spfile: +DATAC4/s12c/spfiles12c.ora
    Password file: +DATAC4/s12c/PASSWORD/passwd
    Domain: example.com
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools:
    Disk Groups: DATAC4
    Mount point paths:
    Services:
    Type: RAC
    Start concurrency:
    Stop concurrency:
    OSDBA group: dba
    OSOPER group: racoper
    Database instances: s12c1,s12c2
    Configured nodes: node01,node02
    CSS critical: no
    CPU count: 0
    Memory target: 0
    Maximum memory: 0
    Default network number for database services:
    Database is administrator managed
  7. Puede acceder a la base de datos mediante SQL*Plus. Por ejemplo:
    sqlplus / as sysdba
    
    SQL*Plus: Release 12.2.0.1.0 Production ...
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 12c EE Extreme Perf Release 12.2.0.1.0 - 64bit Production

Uso de Oracle Net Services para conectarse a una base de datos

Oracle Database Exadata Cloud Infrastructure soporta el acceso remoto a bases de datos mediante Oracle Net Services.

Dado que Exadata Cloud Infrastructure utiliza Oracle Grid Infrastructure, se pueden establecer conexiones de Oracle Net Services mediante conexiones de nombre único de acceso de cliente (SCAN). SCAN es una función que proporciona un mecanismo coherente para que los clientes accedan a las instancias de Oracle Database que se ejecutan en un cluster.

Por defecto, el SCAN está asociado a tres direcciones IP virtuales (VIP). Cada VIP de SCAN también está asociada a un listener de SCAN que proporciona un punto final de conexión para las conexiones de Oracle Database que utilizan Oracle Net Services. Para maximizar la disponibilidad, Oracle Grid Infrastructure distribuye las VIP de SCAN y los listeners de SCAN por los nodos del cluster disponibles. Además, si se produce un fallo o cierre de un nodo, las VIP de SCAN y los listeners de SCAN se migran automáticamente a un nodo superviviente. Al utilizar conexiones de SCAN, mejorará la capacidad de los clientes de Oracle Database de tener un juego fiable de puntos finales de conexión que pueda prestar servicio a todas las bases de datos que se ejecutan en el cluster.

Los listeners de SCAN son adicionales a los listeners de Oracle Net que se ejecutan en cada nodo del cluster, que también se conocen como los listeners del nodo. Cuando una conexión de Oracle Net Services llega a través de una conexión de SCAN, el listener de SCAN direcciona la conexión a uno de los listeners del nodo y no desempeña ningún otro papel 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.

Nota

En esta documentación se proporcionan los requisitos básicos para la conexión a las bases de datos de Exadata Cloud Infrastructure mediante Oracle Net Services.

Requisitos para conectarse a una base de datos con Oracle Net Services

Revise los requisitos para conectarse a una instancia de Oracle Database en Oracle ExaDB-D mediante Oracle Net Services.

Para conectarse a una instancia de Oracle Database en Exadata Cloud Infrastructure con Oracle Net Services, se necesita lo siguiente:
  • Las direcciones IP de las VIP de SCAN, o el nombre de host o la dirección IP de una máquina virtual que aloje la base de datos a la que desea acceder.
  • El identificador de la base de datos: el identificador del sistema (SID) de la base de datos o un nombre de servicio.

Conexión a una base de datos con SQL Developer

Puede conectarse a una base de datos con SQL Developer mediante uno de los siguientes métodos:

  • Cree un canal de SSH temporal desde la computadora a la base de datos. Este método proporciona acceso solo mientras dura el canal. (Cuando haya terminado de utilizar la base de datos, asegúrese de cerrar el canal de SSH saliendo de la sesión de SSH).
  • Abra el puerto utilizado como listener de SCAN de Oracle actualizando la lista de seguridad utilizada para el recurso de cluster de VM en la nube o de sistema de base de datos en la instancia de Exadata Cloud Service. El puerto del listener de SCAN por defecto es 1521. Este método proporciona un acceso más duradero a la base de datos. Para obtener más información, consulte Actualización de la lista de seguridad.

Después de crear un canal de SSH o de abrir el puerto de listener de SCAN como se describe anteriormente, puede conectarse a una instancia de Exadata Cloud Infrastructure mediante direcciones IP de SCAN o direcciones IP públicas, en función de cómo esté configurada la red y desde dónde se conecte. Puede encontrar las direcciones IP en la consola en la página de detalles de Base de datos.

Conexión mediante direcciones IP de SCAN

Puede conectarse a la base de datos utilizando las direcciones IP de SCAN si el cliente está en el entorno local y se conecta mediante una conexión FastConnect o VPN de sitio a sitio.

Tiene las siguientes opciones:
  • Utilice las direcciones IP privadas de SCAN, como se muestra en el siguiente ejemplo de tnsnames.ora:

    testdb=
      (DESCRIPTION =
        (ADDRESS_LIST=
          (ADDRESS = (PROTOCOL = TCP)(HOST = <scanIP1>)(PORT = 1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = <scanIP2>)(PORT = 1521)))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
        )
      )
  • Defina un nombre de SCAN externo en el servidor local de DNS. La aplicación puede resolver este nombre de SCAN externo en las direcciones IP de SCAN privadas del sistema de base de datos y, a continuación, puede utilizar una cadena de conexión que incluya el nombre de SCAN externo. En el siguiente ejemplo de tnsnames.ora, extscanname.example.com está definido en el servidor local de DNS.

    testdb =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <extscanname.example.com>)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
        )
      )
Conexión mediante direcciones IP públicas

Puede utilizar la dirección IP pública del nodo para conectarse a la base de datos si el cliente y la base de datos están en diferentes VCN o si está en una VCN que tiene un gateway de Internet.

Sin embargo, hay implicaciones importantes que se deben tener en cuenta:

  • Cuando el cliente utiliza la dirección IP pública, ignora el listener de SCAN y llega al listener de nodo, por lo que el equilibrio de carga del servidor no está disponible.
  • Cuando el cliente utiliza la dirección IP pública, no puede aprovechar la función de failover de la VIP. Si un nodo deja de estar disponible, los nuevos intentos de conexión con el nodo se bloquearán hasta que se produzca un timeout de TCP/IP. Puede definir los parámetros sqlnet del cliente para limitar el timeout de TCP/IP.

El siguiente ejemplo de tnsnames.ora se muestra una cadena de conexión que incluye el parámetro CONNECT_TIMEOUT para evitar los timeout de TCP/IP.

test=
  (DESCRIPTION =
    (CONNECT_TIMEOUT=60)
    (ADDRESS_LIST=
      (ADDRESS = (PROTOCOL = TCP)(HOST = <publicIP1>)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = <publicIP2>)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
    )
  )

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 dos enfoques.

Conexión a una base de datos mediante un descriptor de conexión que hace referencia a todas las VIP de SCAN

Puede configurar un descriptor de conexión para el sistema Oracle Exadata Database Service on Dedicated Infrastructure mediante varios listeners de SCAN.

Este enfoque requiere que se proporcionen todas las direcciones IP virtuales (VIP) de nombre único de acceso de cliente (SCAN) y permite que Oracle Net Services se conecte a un listener de SCAN disponible.

  1. Utilice la siguiente plantilla para definir un alias de Net Services, que se suele utilizar para proporcionar un nombre adecuado al descriptor de conexión:
    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 se utiliza para identificar el alias.

    SCAN-VIP-[1–3] son las direcciones IP de las VIP de SCAN.

    sid-or-service-entry identifica el nombre de servicio o el SID de la base de datos con uno de los siguientes formatos:
    • SID=sid-name. Por ejemplo: SID=S12C1.
    • SERVICE_NAME=service-name. Por ejemplo: SERVICE_NAME=PDB1.example.yourcloud.com.
    Nota

    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 para el sistema Oracle Exadata Database Service on Dedicated Infrastructure mediante un nombre de SCAN personalizado.

Con este enfoque, se define un nombre de nombre único de acceso de cliente (SCAN) personalizado en el servidor de nombres de dominio (DNS), que se resuelve en las tres direcciones IP virtuales (VIP) de SCAN.

  1. 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 se utiliza para identificar el alias.

    scan-name es el nombre de SCAN personalizado.

    sid-or-service-entry identifica el nombre de servicio o el SID de la base de datos con uno de los siguientes formatos:
    • SID=sid-name. Por ejemplo: SID=S12C1.
    • SERVICE_NAME=service-name. Por ejemplo: SERVICE_NAME=PDB1.example.yourcloud.com.
    También puede utilizar el método de conexión sencilla para especificar un descriptor de conexión con el siguiente formato:
    scan-name:1521/sid-or-service-entry
    Por ejemplo:
    exa1scan.example.com:1521/S12C1
    O bien
    exa1scan.example.com:1521/PDB1.example.yourcloud.com

Conexión a una base de datos mediante un listener de nodo

Para conectarse a una instancia de Oracle Database en Exadata Cloud Infrastructure con un descriptor de conexión que omita los listeners de SCAN, utilice este procedimiento para enrutar la conexión directamente a un listener de nodo.

Con este método, se renuncia a la alta disponibilidad y el equilibrio de carga que proporciona SCAN. Sin embargo, este método puede resultar deseable si se desea dirigir las conexiones a un nodo o interfaz de red específicos. Por ejemplo, puede que desee garantizar que las conexiones de un programa que lleva a cabo cargas masivas de datos utilizan la red de copia de seguridad.

Al utilizar este enfoque, la conexión se dirige mediante el nombre de host o la dirección IP del nodo.

Ejemplo 4-2 Definición de un alias de Net Service que hace referencia directa 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 se 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 esperar 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 nombre de servicio o el SID de la base de datos con uno de los siguientes formatos:
  • SID=sid-name. Por ejemplo, SID=S12C1.
  • SERVICE_NAME=service-name. Por ejemplo, SERVICE_NAME=PDB1.example.oraclecloudatcust.com.
También puede utilizar el método de conexión sencilla para especificar un descriptor de conexión con el siguiente formato:
node:1521/sid-or-service-entry
Por ejemplo:
exa1node01.example.com:1521/S12C1
O bien
exa1node01.example.com:1521/PDB1.example.oraclecloudatcust.com