miércoles, 20 de febrero de 2013

Instalación de Oracle Instant Client 11.2 en Windows 8.


  Buen día,

En esta ocasión quiero compartirles la manera en que instalé el Oracle Instant Client en mi máquina con el no muy agradable Windows 8. Aclaró que este método es 100% funcional en Windows 7 también y probablemente en otras versiones de Windows.



¿Para que te va a servir un Oracle Client?
Se que a más de alguno se le pasó esta pregunta por la mente, y pues la contestaré. Oracle puede conectarse mediante un cliente propio que permitirá acceder a las bases de Datos que tengamos acceso en nuestra red. Si tenes instalado un producto de Oracle como Oracle Forms, Oracle Aplication Server, Oracle Database, etc. tenés instalado un Oracle Client que te permitirá conectarte a una base de datos Oracle. Si sos Desarrollador y no tenes una base de datos Oracle instalada en tu estación de trabajo te será muy útil un Oracle Client.

¿Como un Oracle Client sabe a que base se tendrá que conectar?
Pues Oracle ha simplificado este trabajo ubicando un archivo denominado TNSNAMES con extensión *.ORA, este archivo se encuentra por lo general en algún lugar dentro de network/admin que encontrarán en el árbol de carpetas del producto Oracle instalado. En el tutorial explicaré más a detalle la estructura de este archivo.


Y este es mi Campo de Batalla. Ahora lo que necesitan saber, la instalación del Cliente de Oracle:

Paso 1:  Descarguen los archivos "Basic All Files" y "SQL*Plus" de la página de descargas:



Paso 2: Una vez descargados los archivos Descomprimimos los *.zip a modo que queden todos los archivos en la misma carpeta.

Paso 3: Creamos un directorio en el Disco C: y le asignamos el nombre Oracle.



Paso 4: Creamos las variables de entorno.

Para este paso seleccionen Equipo (Windows+ E abre el explorador de Windows), seleccionan Equipo y luego Propiedades del Sistema. En la barra lateral izquierda aparecen algunos links, seleccionen el que dice "Configuración avanzada del Equipo".



Luego damos clic en el botón "Variables de Entorno".


Tenemos que configurar 1 variable de entorno y crear 2 adicionales:
  • La primer es la variable PATH, al valor de la variable agregar al final ';C:\Oracle\instantclient_11_2' (sin las comillas) y Aceptar.
  • La segunda variable hay que crearla y denominarla SQL_PATH, en el valor de la variable agregar la ruta donde se encuentran los archivos del cliente de Oracle 'C:\Oracle\instantclient_11_2' (sin las comillas).
  • La tercera variable hay que crearla y denominarla TNS_ADMIN en el valor de la variable agregar la ruta donde se encuentran los archivos del cliente de Oracle 'C:\Oracle\instantclient_11_2' (sin las comillas). Este es el directorio donde estara el archivo TNSNAMES.ora.



Creación del TNSNAMES.ora
Con estos pasos ya tenemos instalado nuestro cliente y cuando reiniciemos funcionará, pero necesitamos crear el archivo de TNSNAMES para poder conectarnos a alguna base de datos.

Abrimos Notepad y creamos un nuevo archivo que guardaremos con extensión *.ora y lo denominaremos TNSNAMES, por cuestiones prácticas lo guardaremos en el directorio raíz que debe coincidir con el directorio de la variable de entorno TNS_ADMIN.

Creado el archivo, procedemos a su respectiva configuración:

AquiColocarAliasConexion =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = AquiColocarNombreHost)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SID = AquiColocarSID)
     (SERVER = DEDICATED)
   )
 )

Este sería un bloque del TNSNAMEs, con el cual podríamos conectarnos a una base de datos sustituyendo los valores en Negrita por valores que correspondan a un servidor de Bases de Datos:

AquiColocarAliasConexion = Cualquier nombre, de preferencia que represente alguna característica propia de la conexión, ejemplo SERVER01.

AquiColocarNombreHost = Nombre o IP del Servidor donde esta la base de datos.

AquiColocarSID = Nombre del SID probablemente del SERVICE de la base de datos, para las bases de datos Express Edition por lo general es XE.

Guardamos los cambios y con esto deberíamos tener configurada nuestra conexión utilizando el Instant Client de Oracle.

Paso 5: Reinicien el equipo.

Paso 6: Prueben.
Solamente como prueba intentaré conectarme a mi servidor de Bases de Datos, que en este caso esta dentro de una máquina Virtual que utiliza como Base de Datos Oracle XE 10 G.

Abren un CMD (Windows + R : Menu Ejecutar, Digiten CMD y luego Enter), cuando tengan la pantalla negra digiten el comando SQLPLUS. Esto debe invocar al programa SQLPLUS que en los pasos anteriores descomprimimos en la misma carpeta del cliente.



Pedirá el UserName de la Base de Datos de Oracle a la que nos conectaremos, importante tener credenciales para ingresar a la base. Un punto a tomar en cuenta es que necesitaremos digitar algo similar a esto para poder conectarnos:

NombreUsuario/Contraseña@AliasBaseDatosTNSNames

Esto en el campo de User.

Supongamos que nuestras credenciales son las siguientes:

NombreUsuario = BetaRoot
Contraseña = BetaRootSV
AliasBaseDatosTNSNames = BetaORA01

Digitaríamos lo siguiente:

BetaRoot/BetaRootSV@BetaORA01


Si las credenciales son válidas entonces deberá mostrarnos como Conectados a la Base de Datos.


Y allí pueden ejecutar sus comandos SQL libremente, pueden utilizar un Administrador de Base de Dato par a Oracle que se conecte mediante el uso de TNSNAMES, como recomendación el SQLDeveloper si quieren algo bueno y gratuito.

¿Dudas?

7 comentarios:

  1. excelente articulo, pero me quedo una duda, tengo una maquina con Windows 8 x64, voy a instalar la versión de 32 por compatibilidad

    si quisiera instalar ambas versiones de este cliente (32 y 64)
    supongo que hago lo mismo para el cliente de 64 (ponerlo en una carpeta 'Oracle_64'

    esto seria lo recomendado o debería hacer otra cosa?

    saludos

    ResponderEliminar
  2. Genial!! me anduvo perfecto, muchas gracias por la info

    ResponderEliminar
  3. VOY A LLORAR ESTO ESTA MUY BIEN HECHO GRACIAS

    ResponderEliminar
  4. Hola a todos,
    Estoy tratando de conectarme a un server remoto, e da el sigueinte error:
    ERROR:
    ORA-12154: TNS:could not resolve the connect identifier specified

    Gracias

    ResponderEliminar
  5. Esto solo se puede hacer con el instant Client o con oracle express 11g se puede?

    ResponderEliminar
  6. Excelente, muchas gracias, me sirvio de guia total para configurar el XAMPP 3.2.2, gracias por el aporte.

    ResponderEliminar