jueves, 2 de diciembre de 2010

Conexión entre cliente Oracle y servidor Oracle

Aquí se describen los pasos básicos para poder conectar un cliente Oracle con un servidor Oracle a través del protocolo TCP/IP.

Prerequisitos:

* En el servidor Oracle
  -------------------------
  - Que este corriendo en la misma red que el cliente.
  - Que una base de datos Oracle este instalada.
  - Que este instalado el soporte para el protocolo TCP/IP.
  - Que este configurado un listener.

* En la máquina del cliente
  ------------------------------
- Que este corriendo en la misma red que el servidor Oracle.
- Que tenga instalado un cliente Oracle.
- Que este instalado el soporte para el protocolo TCP/IP.


Tarea 1: Verificar que la red este disponible 

1) Desde el servidor de Oracle

Hacer prueba de loopback, generalmente se utiliza PING.
Generalmente se hace PING a la IP del servidor pero además debemos checar el nombre del servidor y sus alias de DNS (Domain Name System) en el archivo hosts

Unix
-----
$>vi /etc/hosts

Windows
-----------
%>notepad.exe %systemroot%\system32\drivers\etc\hosts

(hosts)
#IP address of server host name    alias
144.25.186.203        sales-server sales.us.acme.com

$%>ping 144.25.186.203

$%>ping sales-server

Los pings deben ser exitosos

2) Desde la máquina que funge como cliente

Realizar las pruebas de conexión hacia el servidor de Oracle utilizando las herramientas PING, FTP o TELNET para protocolos TCP/IP.

Si las operaciones no son exitosas, entonces, verificar que el cableado y que las interfaces de red esten debidamente conectados. Para esto, generalmente se consulta con el administrador de red para la solución de este tipo de problemas.

Tarea 2: Iniciar el servidor de Oracle y su listener

1) Para iniciar la la base de datos o servidor Oracle:

$>export ORACLE_SID=sid
%>set ORACLE_SID=sid

$%>sqlplus /nolog

$%>connect user/password as sysdba

$%>startup database_name pfile=file

2) Para iniciar el listener:

$%>lsnrctl
LSNRCTL>stop listener_name
LSNRCTL>start listener_name

3) Confirmar que este completo el registro de los servicios de la base de datos dentro del listener:

LSNRCTL>services listener_name

Tarea 3: Configurar la conexión entre el cliente y el servidor oracle

Ya comprobada la conectividad entre la máquina cliente y el servidor Oracle, ahora vamos a configurar la conexión entre el cliente y el servidor Oracle.

1) Utilizando easy connect, osea, sin uso de un tnsnames.ora:

CONNECT user/password@host_name|ip[:port]/service_name/instance_name

CONNECT user/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<host_name>)(PORT=<port>))(CONNECT_DATA=(SERVICE_NAME=<service_name>)))

$%>sqlplus /nolog
sqlplus> CONNECT scott/tiger@sales-server:1523/sales_db
sqlplus> CONNECT scott/tiger@10.4.11.77:1523/sales_db

2) Utilizando un nombre de servicio de red configurado en el tnsnames.ora:

 (Linux $ORACLE_HOME/network/admin/tnsnames.ora  o  Windows %ORACLE_HOME%\network\admin\tnsnames.ora)

    sales=
     (DESCRIPTION=
       (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
       (CONNECT_DATA=
         (SERVICE_NAME=sales.us.acme.com)))

$%>sqlplus /nolog
sqlplus> CONNECT scott/tiger@sales

3) Utilizando Oracle Net Configuration Assistant (netca) para configurar el tnsnames.ora y hacer una prueba de conexión:

$%>netca

Elegir la opcion "Local Net Service Name Configuration" y seleccionar las opciones según sea el caso.

Tarea 4: Conectarse a la base de datos

Desde la máquina del cliente ejecutar SQL*Plus y conectarse a la base de datos según la configuración elegida en la tarea 3:

$%>sqlplus /nolog
sqlplus>connect user/password@net_service_name

Nota:
-------
$>    Indica que debe ejecutarse sobre consola de Linux.
%>    Indica que debe ejecutarse sobre consola de MS-Dos.
$%>    Indica que se puede ejecutar tanto en consola de Linux como en consola de MS-Dos.

5 comentarios:

  1. Respuestas
    1. De nada Hernaldo, ese es el propósito, que sea de utilidad para alguien. Me complace que te halla ayudado.
      Saludos
      Juan M

      Eliminar
    2. De nada Hernaldo, ese es el propósito, que sea de utilidad para alguien. Me complace que te halla ayudado.
      Saludos
      Juan M

      Eliminar
    3. De nada Hernaldo, ese es el propósito, que sea de utilidad para alguien. Me complace que te halla ayudado.
      Saludos
      Juan M

      Eliminar