Friday, January 25, 2013

Instalación Oracle Instant Client 11g en Red Hat

Hoy tuve la necesidad de automatizar reportes que se generan utilizando información de varias bases de datos Oracle. El Oracle Instant Client nos permite accesar y manejar bases de datos utilizando sqlplus sin la necesidad de hacer una instalacion completa. 

Aquí verás como hacer esta instalación.


1. Primero necesitamos bajar el Instant Client y sqlplus de aqui.
- oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm 
- oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm

2. Luego de que los bajes los instalas con este comando (tienes que ser root):
$ rpm -ilv oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
3. Creamos un grupo específico para Oracle:
$ groupadd -g dba
4. Ahora creamos el usuario y le asignamos un password: 
**Nota: Si tu sistema es 32 bits elimina el numero 64 de todos los comandos que sometamos de este paso en adelante.
$ useradd -d /usr/lib/oracle/11.2/client64 -g "dba" oracle
$ passwd 
5. Modificamos el profile del usuario oracle (añade las lineas en negro):
vim ~oracle/.bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export TNS_ADMIN=/usr/lib/oracle/11.2/client64
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
PATH=$ORACLE_HOME/bin:$PATH
export PATH
6. Creamos el archivo tnsnames.ora que es donde se definen las conexiones de las bases de datos:
$ vim /usr/lib/oracle/11.2/client/tnsnames.ora
Recuerda: Las entradas en este archivo deben tener este formato:
<AddressName> =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = <IP>)(PORT = <Puerto>))
    )
    (CONNECT_DATA =
      (SID = <SID>)
    )
  )
Entras al servidor con el usuario oracle e intentamos conexion a una base de datos con el siguiente comando:
$ sqlplus user/pass@DB

SQL*Plus: Release 11.2.0.3.0 Production on Fri Jan 25 14:30:01 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

**Nota: Para tener la misma funcionalidad con el usuario root solo tienes que repetir el paso #5 en su .bash_profile.

Ya tenemos el Instant Client 11g de Oracle instalado y conectado a una base de datos!