Cómo conectarse a la base de datos Oracle 12c Instancia

April 19

Una instancia de base de datos Oracle 12c no sirve de mucho si no puede conectarse a la misma. Establecer una conexión confiable, persistente y seguro a la base de datos desde el cliente es esencial.

Red de Oracle con el apoyo de

  • Administrador de base de datos (DBA) procesos de escucha gestionada
  • Archivos de configuración de cliente-y del lado del servidor
  • Utilidades de línea de comandos
  • Herramientas de administración GUI opcionales

Las conexiones pueden entrar en la base de datos a través de varios protocolos de Oracle no más ligeros como ODBC o JDBC.

Local versus conexiones remotas con Oracle 12c

Conexiones en la base de datos pueden ser de dos tipos:

  • Local (legar): Una conexión local se origina en el mismo servidor de la base de datos está encendido y no utiliza el proceso de escucha de base de datos.
  • Remotas: Todas las demás conexiones desde fuera del servidor de base de datos o las del servidor usando el oyente son las conexiones remotas. La forma más fácil de determinar si un usuario se conecta de forma remota es si usted tieneTNS_ALIAS en la pantalla de conexión.

El flujo de comunicación con Oracle 12c

Las conexiones a una base de datos Oracle suelen venir a través de un cliente situado lejos de la base de datos; sobre una infraestructura de red; al servidor de base de datos; a través de un proceso de escucha base de datos; y, finalmente, en la base de datos en sí.

En el lado del cliente, el programa llamando a las referencias de bases de datos tnsnames.ora para encontrar la máquina del servidor de base de datos y un protocolo para enviar la petición a. La solicitud se deja al cliente y se va a la OracleNet utilización de la red. El puerto predeterminado para las comunicaciones de Oracle Net es 1521. Durante este protocolo de red Oracle es donde fluye el tráfico de comunicaciones de bases de datos entre el cliente y el servidor de base de datos.

Después de solicitud de comunicación de un cliente llega a la máquina del servidor de base de datos, se pasa a las manos del oyente. El oyente base de datos es un proceso de software Oracle independiente en el servidor de base de datos que escucha las peticiones entrantes en el puerto OracleNet definido (1521). Cuando se hace una solicitud, el oyente identifica qué base de datos de ejemplo se apunta para esa solicitud y establece una conexión con la instancia de base de datos.

En el lado del servidor, el oyente utiliza el archivo listener.ora para tomar esta determinación. Cuando se establece la conexión y se inicia la sesión, el oyente se sale de la imagen y permite la comunicación entre la base de datos y el cliente. Cada sesión de cliente tiene un proceso de servidor dedicado en el lado del servidor. Dentro de este proceso de servidor dedicado, se ejecuta código de sesión del usuario. Esto representa el flujo de comunicación.

Cómo conectarse a la base de datos Oracle 12c Instancia

El cliente contiene la aplicación cliente y tnsnames.ora archivo. Se comunica con el servidor de base de datos Oracle sobre Net en el puerto 1521. En el servidor de base de datos, un proceso de escucha se configura por medio del archivo de listener.ora. Las rutas de los radioescuchas la solicitud entrante a la instancia de la base de datos de destino (dev11g o DB01) y establece el protocolo de enlace de conexión inicial entre la instancia de base de datos y el cliente.

Cómo configurar tnsnames.ora con Oracle 12c

Usted debe proporcionar la dirección o ubicación de la base de datos que está intentando conectarse. Esta información se almacena a menudo en el archivo de texto tnsnames.ora, que existe en el cliente que se está conectando desde.

Recordar este "cliente" puede ser la estación de trabajo de un usuario, un servidor de aplicaciones Web, o incluso otro servidor de base de datos.

Aquí es un archivo tnsnames.ora muestra de que se puede encontrar en ORACLE_HOME_DIRECTORY / network / admin:

dev12c =
(DESCRIPTION =
(ADDRESS_LIST =
(DIRECCIÓN = (PROTOCOLO = TCP) (HOST = orasvr01) (PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dev12c)
)
db01 =
(DESCRIPTION =
(ADDRESS_LIST =
(DIRECCIÓN = (PROTOCOLO = TCP) (HOST = orasvr02) (PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB01)
)

Este tnsnames.ora particular contiene 2 TNS (Red de Transporte de sustrato) alias, uno para dev12c y otro para db01. Al conectarse a una instancia de base de datos, en realidad se especifica el alias de TNS (no el nombre de base de datos). El alias TNS puede ser cualquier nombre (como dev12c o algo más genérico como dev o trainingdb). Esa flexibilidad significa que puede tener un alias genérico y no codificar el nombre de base de datos.

Bajo HOST especifica el nombre de host DNS o la dirección IP del servidor que contiene la instancia de base de datos. Una vez más, trate de evitar valores codificados como la dirección IP y el uso de nombres DNS si es posible.

Puerto es el puerto el proceso de escucha del lado del servidor está escuchando. Es también el puerto se conecta a través de la red por su tráfico OracleNet (así los firewalls deben estar abiertos en ese puerto).

SERVICE_NAME es el nombre del servicio de la instancia de base de datos que está intentando conectarse. También puede utilizar SID, aunque Oracle está promoviendo el uso de SERVICE_NAME lugar.

El archivo tnsnames.ora está basado en texto, y usted puede editarlo a mano. Después de hacer los cambios, no es necesario reiniciar el proceso de base de datos o el oyente.

Cómo probar la conexión con Oracle 12c

La mejor manera de probar una conexión es a través de la aplicación, pero que no siempre es posible. Preferiblemente, estás en el nivel de cliente y de hecho va a través de la misma ruta de la red como las aplicaciones cliente

Para ejecutar una prueba de conectividad, siga estos pasos para determinar si puede conectarse a la instancia de base de datos:

  1. Ir a la capa de cliente.
  2. Ver si el software de cliente de Oracle como SQL * Plus y tnsnames.ora está instalado.
  3. Ejecutar una sqlplus usuario @ tns_alias, como sqlplus mwhalen @ dev12c.
  4. Introduzca la contraseña para conectarse a la base de datos.

Uso de la utilidad tnsping es un método aún más rápido que no requiere una contraseña. Esta utilidad se conecta a través de la red a través de la escucha y establece un apretón de manos. A continuación, finaliza la conexión e informa de los resultados, lo que usted ve aquí:

$ Tnsping dev12c
Utilidad de ping TNS para Linux: versión 12.1.0.1.0 - Producción el 19-MAY-2013 12:20:07
Derechos de autor (c) 1997, 2013, Oracle. Reservados todos los derechos.
Archivos de parámetros usados:
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora
Adaptador TNSNAMES utiliza para resolver los alias
El intento de contacto (DESCRIPTION = (DIRECCIÓN = (PROTOCOLO = TCP) (HOST =
localhost) (PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dev12c)))
OK (20 ms)

Prueba de conexiones es una buena etapa de verificación para el DBA. Si se producen problemas, se le permite ponerse primero en lugar de depender de los usuarios de informar sobre ellos más tarde.