Como instalar cliente de oracle en Centos 7

Descargar del sitio web de Oracle los siguientes archivos.

oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64.rpm

Empezamos a instalar los paquetes

└─>  ¯\_(ツ)_/¯  sudo yum localinstall oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm 
Complementos cargados:fastestmirror, langpacks
Examinando oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm: oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64
Marcando oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm para ser instalado
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete oracle-instantclient12.1-basic.x86_64 0:12.1.0.2.0-1 debe ser instalado
--> Resolución de dependencias finalizada

Dependencias resueltas

=========================================================================================================================================
 Package                              Arquitectura Versión               Repositorio                                               Tamaño
=========================================================================================================================================
Instalando:
 oracle-instantclient12.1-basic       x86_64       12.1.0.2.0-1          /oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64       185 M

Resumen de la transacción
=========================================================================================================================================
Instalar  1 Paquete

Tamaño total: 185 M
Tamaño instalado: 185 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Instalando    : oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64                                                                 1/1 
  Comprobando   : oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64                                                                 1/1 

Instalado:
  oracle-instantclient12.1-basic.x86_64 0:12.1.0.2.0-1                                                                                   

¡Listo!
└─>  ¯\_(ツ)_/¯  sudo yum localinstall oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
Complementos cargados:fastestmirror, langpacks
Examinando oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm: oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64
Marcando oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm para ser instalado
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete oracle-instantclient12.1-devel.x86_64 0:12.1.0.2.0-1 debe ser instalado
--> Resolución de dependencias finalizada

Dependencias resueltas

=========================================================================================================================================
 Package                              Arquitectura Versión               Repositorio                                               Tamaño
=========================================================================================================================================
Instalando:
 oracle-instantclient12.1-devel       x86_64       12.1.0.2.0-1          /oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64       1.9 M

Resumen de la transacción
=========================================================================================================================================
Instalar  1 Paquete

Tamaño total: 1.9 M
Tamaño instalado: 1.9 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Instalando    : oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64                                                                 1/1 
  Comprobando   : oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64                                                                 1/1 

Instalado:
  oracle-instantclient12.1-devel.x86_64 0:12.1.0.2.0-1                                                                                   

¡Listo!

 

└─>  ¯\_(ツ)_/¯  sudo yum localinstall -y oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64.rpm
Complementos cargados:fastestmirror, langpacks
Examinando oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64.rpm: oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64
Marcando oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64.rpm para ser instalado
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete oracle-instantclient12.1-jdbc.x86_64 0:12.1.0.2.0-1 debe ser instalado
--> Resolución de dependencias finalizada

Dependencias resueltas

=========================================================================================================================================
 Package                              Arquitectura  Versión              Repositorio                                               Tamaño
=========================================================================================================================================
Instalando:
 oracle-instantclient12.1-jdbc        x86_64        12.1.0.2.0-1         /oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64        1.7 M

Resumen de la transacción
=========================================================================================================================================
Instalar  1 Paquete

Tamaño total: 1.7 M
Tamaño instalado: 1.7 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Instalando    : oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64                                                                  1/1 
  Comprobando   : oracle-instantclient12.1-jdbc-12.1.0.2.0-1.x86_64                                                                  1/1 

Instalado:
  oracle-instantclient12.1-jdbc.x86_64 0:12.1.0.2.0-1                                                                                    

¡Listo!
└─>  ¯\_(ツ)_/¯  sudo yum localinstall -y oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm
Complementos cargados:fastestmirror, langpacks
Examinando oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm: oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64
Marcando oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm para ser instalado
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete oracle-instantclient12.1-odbc.x86_64 0:12.1.0.2.0-1 debe ser instalado
--> Resolución de dependencias finalizada

Dependencias resueltas

=========================================================================================================================================
 Package                              Arquitectura  Versión              Repositorio                                               Tamaño
=========================================================================================================================================
Instalando:
 oracle-instantclient12.1-odbc        x86_64        12.1.0.2.0-1         /oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64        4.2 M

Resumen de la transacción
=========================================================================================================================================
Instalar  1 Paquete

Tamaño total: 4.2 M
Tamaño instalado: 4.2 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Instalando    : oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64                                                                  1/1 
  Comprobando   : oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64                                                                  1/1 

Instalado:
  oracle-instantclient12.1-odbc.x86_64 0:12.1.0.2.0-1                                                                                    

¡Listo!
└─>  ¯\_(ツ)_/¯  sudo yum localinstall -y oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
Complementos cargados:fastestmirror, langpacks
Examinando oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm: oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64
Marcando oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm para ser instalado
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete oracle-instantclient12.1-sqlplus.x86_64 0:12.1.0.2.0-1 debe ser instalado
--> Resolución de dependencias finalizada

Dependencias resueltas

=========================================================================================================================================
 Package                               Arquitectura
                                                   Versión              Repositorio                                                Tamaño
=========================================================================================================================================
Instalando:
 oracle-instantclient12.1-sqlplus      x86_64      12.1.0.2.0-1         /oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64      3.0 M

Resumen de la transacción
=========================================================================================================================================
Instalar  1 Paquete

Tamaño total: 3.0 M
Tamaño instalado: 3.0 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Instalando    : oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64                                                               1/1 
  Comprobando   : oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64                                                               1/1 

Instalado:
  oracle-instantclient12.1-sqlplus.x86_64 0:12.1.0.2.0-1                                                                                 

¡Listo!
─>  ¯\_(ツ)_/¯  sudo yum localinstall -y oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64.rpm
Complementos cargados:fastestmirror, langpacks
Examinando oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64.rpm: oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64
Marcando oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64.rpm para ser instalado
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete oracle-instantclient12.1-tools.x86_64 0:12.1.0.2.0-1 debe ser instalado
--> Resolución de dependencias finalizada

Dependencias resueltas

=========================================================================================================================================
 Package                              Arquitectura Versión               Repositorio                                               Tamaño
=========================================================================================================================================
Instalando:
 oracle-instantclient12.1-tools       x86_64       12.1.0.2.0-1          /oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64       505 k

Resumen de la transacción
=========================================================================================================================================
Instalar  1 Paquete

Tamaño total: 505 k
Tamaño instalado: 505 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Instalando    : oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64                                                                 1/1 
  Comprobando   : oracle-instantclient12.1-tools-12.1.0.2.0-1.x86_64                                                                 1/1 

Instalado:
  oracle-instantclient12.1-tools.x86_64 0:12.1.0.2.0-1                                                                                   

¡Listo!

Luego de ello… podemos ver que librerias fueron instaladas

 

└─>  ¯\_(ツ)_/¯  ls -la /usr/lib/oracle/12.1/client64/lib/
total 199296
drwxr-xr-x 2 root root      4096 feb 11 09:43 .
drwxr-xr-x 4 root root        28 feb 11 09:42 ..
-rw-r--r-- 1 root root       342 jul  7  2014 glogin.sql
lrwxrwxrwx 1 root root        21 feb 11 09:43 libclntshcore.so -> libclntshcore.so.12.1
-rw-r--r-- 1 root root   6990875 jul  7  2014 libclntshcore.so.12.1
lrwxrwxrwx 1 root root        17 feb 11 09:43 libclntsh.so -> libclntsh.so.12.1
-rw-r--r-- 1 root root  58793741 jul  7  2014 libclntsh.so.12.1
-rw-r--r-- 1 root root     18027 jul  7  2014 libheteroxa12.so
-rw-r--r-- 1 root root   1768370 jul  7  2014 libipc1.so
-rw-r--r-- 1 root root    544150 jul  7  2014 libmql1.so
-rw-r--r-- 1 root root   6213011 jul  7  2014 libnnz12.so
lrwxrwxrwx 1 root root        15 feb 11 09:43 libocci.so -> libocci.so.12.1
-rw-r--r-- 1 root root   2576030 jul  7  2014 libocci.so.12.1
-rw-r--r-- 1 root root 109549133 jul  7  2014 libociei.so
-rw-r--r-- 1 root root    156353 jul  7  2014 libocijdbc12.so
-rw-r--r-- 1 root root    337137 jul  7  2014 libons.so
-rw-r--r-- 1 root root    118491 jul  7  2014 liboramysql12.so
-rw-r--r-- 1 root root   1564082 jul  7  2014 libsqlplusic.so
-rw-r--r-- 1 root root   1546540 jul  7  2014 libsqlplus.so
-rw-r--r-- 1 root root   4421284 jul  7  2014 libsqora.so.12.1
-rw-r--r-- 1 root root   3670975 jul  7  2014 ojdbc6.jar
-rw-r--r-- 1 root root   3677511 jul  7  2014 ojdbc7.jar
-rw-r--r-- 1 root root   1657951 jul  7  2014 orai18n.jar
-rw-r--r-- 1 root root     86899 jul  7  2014 orai18n-mapping.jar
-rw-r--r-- 1 root root    311555 jul  7  2014 ottclasses.zip
-rw-r--r-- 1 root root     35925 jul  7  2014 xstreams.jar

Estas librerías debemos agregarlas al archivo de configuración de librerías del sistema operativo. En el directorio /etc/ld.so.conf.d/ debemos crear un archivo que nos guarde esta ruta

[root@dba Descargas]# echo /usr/lib/oracle/12.1/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf
[root@dba Descargas]# ls -ltr /etc/ld.so.conf.d/oracle-instantclient.conf
-rw-r--r-- 1 root root 34 feb 11 11:11 /etc/ld.so.conf.d/oracle-instantclient.conf
[root@dba Descargas]# cat /etc/ld.so.conf.d/oracle-instantclient.conf
/usr/lib/oracle/12.1/client64/lib
[root@dba Descargas]# ls -ltr /etc/ld.so.conf.d/
total 44
-rw-r--r--  1 root root 22 jun  9  2014 qt-x86_64.conf
-rw-r--r--. 1 root root 18 jun 10  2014 tix-x86_64.conf
-rw-r--r--. 1 root root 17 nov  5  2016 libiscsi-x86_64.conf
-rw-r--r--  1 root root 19 ago  2  2017 varnish-x86_64.conf
-rw-r--r--. 1 root root 17 ago  2  2017 atlas-x86_64.conf
-r--r--r--. 1 root root 63 abr 20  2018 kernel-3.10.0-862.el7.x86_64.conf
-rw-r--r--  1 root root 19 oct 30  2018 dyninst-x86_64.conf
-rw-r--r--. 1 root root 34 dic 26  2018 oracle.conf
-r--r--r--  1 root root 63 may 14  2019 kernel-3.10.0-957.12.2.el7.x86_64.conf
-rw-r--r--  1 root root 17 jun 10  2019 mysql-x86_64.conf
-rw-r--r--  1 root root 34 feb 11 11:11 oracle-instantclient.conf
[root@dba Descargas]# 

Con esto tenemos funcional el cliente de oracle, podemos acceder al ejecutable sqlplus.

Ahora debemos indicarle al cliente cuales son los SIDs o accesos o destinos a donde nos queremos conectar. Para ello entonces debemos crear un archivo tnsnames.ora, el cual lo dejamos en el directorio network/admin que no existe, para ello creamos primero esta ruta de la siguiente forma.

[root@dba Descargas]# mkdir -p /usr/lib/oracle/12.1/client64/network/admin
[root@dba Descargas]# ls -ltr /usr/lib/oracle/12.1/client64/network/admin
total 0
[root@dba Descargas]# 

Creamos el archivo tnsnames.ora en la ruta que acabo de crear , usamos el formato estandar

db1 = 
        (DESCRIPTION =
                (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.3)(PORT = 1524))
                (CONNECT_DATA =
                        (SERVER = DEDICATED)
                        (SID = db1)
        )
)

En ocasiones la instancia configura el SERVICE_NAME en lugar de SID, por tanto es necesario tener en cuenta cuales son los parámetros con los que funciona la instancia a la que deseamos conectarnos.

Lo siguiente es definir las variables para hacer uso del cliente oracle

 

export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin

Estos valores los guardamos en el profile del usuario o en un archivo generalizado del servidor para que cualquier usado pueda cargar estas variables. Si no se cargan estas variables, ocurre lo siguiente…

[root@dba admin]# sqlplus 
bash: sqlplus: no se encontró la orden...
[root@dba admin]#

Cargamos variables y ejecutamos sqlplus

[root@dba admin]# export ORACLE_HOME=/usr/lib/oracle/12.1/client64
[root@dba admin]# export PATH=$PATH:$ORACLE_HOME/bin
[root@dba admin]# export LD_LIBRARY_PATH=$ORACLE_HOME/lib
[root@dba admin]# export TNS_ADMIN=$ORACLE_HOME/network/admin
[root@dba admin]# sqlplus

SQL*Plus: Release 12.1.0.2.0 Production on Tue Feb 11 11:28:46 2020

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

Enter user-name: ^C
[root@dba admin]#

Ahora probamos una conexión a una instancia

[root@dba admin]# sqlplus system@queryx

SQL*Plus: Release 12.1.0.2.0 Production on Tue Feb 11 11:29:45 2020

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

Enter password: 

Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

SQL> 

Con esto hemos verificado la conexión desde nuestro cliente oracle.

 

 

 

 

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *