quarta-feira, 30 de março de 2016

Instalar Client Oracle CentOS 7 64 bits

Realizar a instalação dos pacotes abaixo com o comando rpm -ivh

# rpm -ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm
# rpm -ivh oracle-instantclient-devel-10.2.0.4-1.i386.rpm
# rpm -ivh oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm

Após a instalação os arquivos ficarão armazenados nos diretórios:

- Código Fonte em: /usr/include/oracle
- Binários e bibliotecas em: /usr/lib/oracle

Após a instalação, verifiquei que ainda não era possível executar, por exemplo, o SQLPlus, provavelmente por não ter criado a variável ORACLE_HOME e ORACLE_BASE no PATH do meu usuário no Linux. Identifiquei que o Linux conseguiu localizar o binário no /usr/bin/sqlplus, mas retornando a mensagem abaixo:

-bash: /usr/bin/sqlplus: /lib/ld-linux.so.2: bad ELF interpreter: Arquivo ou diretório não encontrado

Inseri as variáveis abaixo no .bash_profile:

# VARIAVEIS ORACLE CENTOS 7
export ORACLE_BASE="/usr/lib/oracle/10.2.0.4"
export ORACLE_HOME="/usr/lib/oracle/10.2.0.4/client"
export LD_LIBRARY_PATH="/usr/lib/oracle/10.2.0.4/client/lib"
export NLS_LANG=ENGLISH.WE8ISO8859P1
export NLS_DATE_FORMAT='DD/MM/RRRR'
export TNS_ADMIN="/etc/tnsnames.ora"

PATH=$PATH:$HOME/bin:$ORACLE_BASE:$ORACLE_HOME:$LD_LIBRARY_PATH:$TNS_ADMIN

Mesmo após ter inserido as variáveis acima, a mensagem de erro continuava. 

Identifiquei que essa mensagem ocorria, devido ao fato que os rpms do client Oracle instalado eram de 32 bits e o CentOS 7 era de 64 bits. A instalação minima do CentOS não instala a glibc de 32 bits, somente a de 64 bits, com isso, os programas de 32 bits podem apresentar a mensagem acima. Devido a isso, realizei a instalação da glic 32 bits, conforme as linhas abaixo:

yum install glibc.i686
yum install glibc-devel.i686
yum install glibc-static.i686

Após a instalação, consegui executar o sqlplus normalmente:

SQL*Plus: Release 10.2.0.4.0 - Production on Wed Mar 30 10:03:32 2016

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Enter user-name:

Falta copiar o arquivo tnsnames.ora para o /etc

Após isso, consegui me conectar no Oracle nas TNS listados no arquivo tnsnames.ora

Nenhum comentário:

Postar um comentário