Instalar el cliente de Oracle en Ubuntu Edgy

Ver el tema anterior Ver el tema siguiente Ir abajo

Instalar el cliente de Oracle en Ubuntu Edgy

Mensaje  Admin el Miér Feb 25, 2009 12:28 am

Esta semana quiero migrar un schema de base de datos de Oracle a MySql y necesitaba un cliente de MySQL, he probado SqlYog con wine que es el que mas me gustaba cuando utilizaba Windows, pero me va muy lento. Asi que he decidido instalarme TORA con soporte de Oracle y MySql. Este es el primer post que se dedica a su instalacion. Si tienes oracle server instalado no necesitas instalar este cliente, ya tendras instalado por defecto todo lo necesario.

Lo que aqui te comento tambien te sirve si solo quieres usar sqlplus desde la linea de comandos.

Bueno, empezamos…

Te tienes que conectar al sitio web de Oracle y descargarte el “instant client Oracle” para la plataforma que estes empleando.

Necesitas tener cuenta en Oracle, si no tienes, te creas una desde el propio sitio web.

En mi caso yo me he descargado los siguientes ficheros (son el cliente basico, las cabeceras para el desarrollo de programas y el soporte jdbc de java):



La otra opcion es bajarte los .tar.gz y descomprimirlos manualmente en el directorio que quieras (por ejemplo /opt/oracle). Yo he preferido bajarme los .rpm y convertirlos a formato de paquete debian .deb con la utilidad “alien“

Si no tienes alien instalado en el sistema, lo instalas con:

sudo apt-get install alien

Para convertir los paquetes .rpm a .deb ejecutamos:

alien *.rpm

Tras unos breves momentos, se nos generan una serie de ficheros en formato .deb que instalamos con la orden:

dpkg -i *.deb

y ya esta. te despreocupas de crear los enlaces simbolicos a las librerias .so y todo eso. Ya por defecto el cliente de oracle se te instala en los directorios correspondientes.


jose@soledad:~$ sudo -s
Password:
root@soledad:~# cd /home/jose/Desktop
root@soledad:~/Desktop# cd Oracle_Basic_Client
root@soledad:~/Desktop/Oracle_Basic_Client# clear
root@soledad:~/Desktop/Oracle_Basic_Client# ls
Instalar cliente basico de ORACLE
instantclient-odbc-linux32-10.2.0.3-20061115.zip
oracle-instantclient-basic-10.2.0.3-1.i386.rpm
oracle-instantclient-devel-10.2.0.3-1.i386.rpm
oracle-instantclient-jdbc-10.2.0.3-1.i386.rpm
oracle-instantclient-sqlplus-10.2.0.3-1.i386.rpm
root@soledad:~/Desktop/Oracle_Basic_Client# alien *.rpm
oracle-instantclient-basic_10.2.0.3-2_i386.deb generated
oracle-instantclient-devel_10.2.0.3-2_i386.deb generated
oracle-instantclient-jdbc_10.2.0.3-2_i386.deb generated
oracle-instantclient-sqlplus_10.2.0.3-2_i386.deb generated
root@soledad:~/Desktop/Oracle_Basic_Client# dpkg -i *.deb
Seleccionando el paquete oracle-instantclient-basic previamente no seleccionado.
(Leyendo la base de datos …
131239 ficheros y directorios instalados actualmente.)
Desempaquetando oracle-instantclient-basic (de oracle-instantclient-basic_10.2.0.3-2_i386.deb) …
Seleccionando el paquete oracle-instantclient-devel previamente no seleccionado.
Desempaquetando oracle-instantclient-devel (de oracle-instantclient-devel_10.2.0.3-2_i386.deb) …
Seleccionando el paquete oracle-instantclient-jdbc previamente no seleccionado.
Desempaquetando oracle-instantclient-jdbc (de oracle-instantclient-jdbc_10.2.0.3-2_i386.deb) …
Seleccionando el paquete oracle-instantclient-sqlplus previamente no seleccionado.
Desempaquetando oracle-instantclient-sqlplus (de oracle-instantclient-sqlplus_10.2.0.3-2_i386.deb) …
Configurando oracle-instantclient-basic (10.2.0.3-2) …
Configurando oracle-instantclient-devel (10.2.0.3-2) …
Configurando oracle-instantclient-jdbc (10.2.0.3-2) …
Configurando oracle-instantclient-sqlplus (10.2.0.3-2) …
root@soledad:~/Desktop/Oracle_Basic_Client#


Bien, ya tenemos el cliente instalado. Necesitamos ahora definir las variables de entorno. Yo las he creado en /etc/environment pero puedes incluirlas en un shell script que invoques al iniciar sesion con tu usuario o en su fichero .profile.

Mi fichero /etc/environment queda como este:


PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games”
LANG=”es_ES.UTF-8″
# Para poder visualizar correctamente programas Swing en Beryl
AWT_TOOLKIT=”MToolkit”
# Configuracion de ORACLE
ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_HOME
export PATH
export LD_LIBRARY_PATH


Para instalar el cliente, tambien tienes que incluir las librerias .so en el sistema para ello ejecuta lo siguiente:


sudo sh -c “echo /usr/lib/oracle/10.2.0.3/client/lib >> /etc/ld.so.conf”
sudo ldconfig


Por ultimo ya podriamos conectar a cualquier base de datos mediante sqlplus de la forma:

sqlplus user/password@//host/sid

Ejemplo:


jose@soledad:~$ sqlplus desa/desa@//127.0.0.1/DESARROLLO
SQL*Plus: Release 10.2.0.3.0 - Production on Thu Mar 22 14:01:00 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
With the Partitioning option
JServer Release 9.2.0.8.0 - Production
SQL> select * from user;


Pero si en cambio quieres emplear un fichero tnsnames.ora puedes hacer lo siguiente:

Nos vamos a $ORACLE_HOME que en mi caso es /usr/lib/oracle/10.2.0.3/client

y creamos el directorio network, y dentro de network creamos el directorio admin
es decir queda: /usr/lib/oracle/10.2.0.3/client/network/admin

alli dentro dejamos el fichero tnsnames.ora que es de la forma:


<ALIAS> =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <HOST>)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = <SID>)
)
)


Ejemplo:


DESARROLLO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DESARROLLO)
)
)


Y para conectar bastaria con ejecutar:


sqlplus user/password@alias


Ejemplo:


jose@soledad:~$ . /etc/environment
jose@soledad:~$ sqlplus desa/desa@DESARROLLO
SQL*Plus: Release 10.2.0.3.0 - Production on Fri Mar 23 07:11:16 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
With the Partitioning option
JServer Release 9.2.0.8.0 - Production
SQL> SELECT sysdate FECHA_SISTEMA from dual;
FECHA_SIS
———
23-MAR-07


Si no quieres usar esta ruta para el fichero tnsnames.ora puedes añadirlo donde quieras pero definiendo la variable de entorno TNS_ADMIN que indica la ruta de este fichero.
Esta informacion la he extraido de la documentacion de Oracle, que nos dice que el orden de busqueda de este fichero es el siguiente:

Oracle Net8 and Connection Manager search for global files in the following order:

The directory specified by the environment variable, TNS_ADMIN, if set.
The /var/opt/oracle directory.
$ORACLE_HOME/network/admin

Admin
Admin

Cantidad de envíos : 255
Edad : 31
Localización : perzurc@hotmail.com
Fecha de inscripción : 02/04/2008

Ver perfil de usuario http://cibernetico.superforo.net

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.