Possuo em meu ambiente a ferramenta
Nagios, e faz um tempo surgiu uma demanda de
monitorarmos alguns bancos no
Oracle através deste sistema de monitoramento. Tive
muitas dificuldades para instalar o cliente Oracle no Slackware, tendo em vista que sem este cliente os
plugins que possuímos no Nagios para isto não funcionam, tive de instalá-lo.
Instalando o cliente Oracle - para uso do Nagios
Baixe todos os pacotes listados abaixo através do site da Oracle:
Pacotes:
- instantclient-basic-linux32-11.2.0.2.0.zip <download em: 14 Abr 2011>
- instantclient-odbc-linux32-11.2.0.2.0.zip <download em: 14 Abr 2011>
- instantclient-sqlplus-linux32-11.2.0.2.0.zip <download em: 14 Abr 2011>
- instantclient-jdbc-linux32-11.2.0.2.0.zip <download em: 14 Abr 2011>
- instantclient-sdk-linux32-11.2.0.2.0.zip <download em: 14 Abr 2011>
- instantclient-tools-linux32-11.2.0.2.0.zip <download em: 14 Abr 2011>
Após baixá-los, transfira todos os arquivos através de um software a sua escolha (eu uso WINSCP)
para o diretório /root/oracle. Obs.: Eu criei este diretório anteriormente.
Acesse o diretório (já via putty):
# cd /root/oracle
Descompacte todos os arquivos transferidos:
# unzip instantclient-basic-linux32-11.2.0.2.0.zip
# unzip instantclient-odbc-linux32-11.2.0.2.0.zip
# unzip instantclient-sqlplus-linux32-11.2.0.2.0.zip
# unzip instantclient-jdbc-linux32-11.2.0.2.0.zip
# unzip instantclient-sdk-linux32-11.2.0.2.0.zip
# unzip instantclient-tools-linux32-11.2.0.2.0.zip
Mova o diretório gerado na descompactação para /usr/lib:
# mv instantclient_11_2/ /usr/lib/
Acesse o diretório e crie os links abaixo:
# cd /usr/lib/instantclient_11_2/
# ln -s libclntsh.so.11.1 libclntsh.so
# ln -s libocci.so.11.1 libocci.so
# ln -s /usr/lib/instantclient_11_2/sqlplus /usr/bin/sqlplus
Retorne ao diretório de instalações:
# cd /root/oracle
Baixe neste diretório uma lib necessária para o funcionamento do cliente:
# wget http://kernel.org/pub/linux/libs/aio/libaio-0.3.109.tar.gz
(download em: 14 Abr 2011)
Descompacte esta lib:
# tar -zxf libaio-0.3.109.tar.gz
Acesse o diretório após a descompactação:
# cd libaio-0.3.109
Instale a lib:
# make prefix=`pwd`/usr install
Copie a lib gerada para o diretório correto:
# cp /root/oracle/libaio-0.3.109/usr/lib/* /usr/lib/instantclient_11_2/
Insira os dados abaixo no final do arquivo mencionado:
# vi /etc/profile
export ORACLE_BASE="/usr/lib/instantclient_11_2"
export ORACLE_HOME="${ORACLE_BASE}"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ORACLE_BASE}"
export NLS_DATE_FORMAT="YYYYMMDD"
export NLS_LANG=PORTUGUESE_BRAZIL.WE8MSWIN1252
export TNS_ADMIN=/etc/oracle/
export SQLPATH="${ORACLE_BASE}"
Aplique as configurações:
# source /etc/profile
Crie o diretório mencionado como TNS_ADMIN:
# mkdir /etc/oracle
Acesse o diretório e crie os arquivos conforme abaixo:
# cd /etc/oracle/
# touch sqlnet.ora
# touch tnsnames.ora
Edite os arquivos conforme abaixo:
# vi sqlnet.ora
NAMES.DEFAULT_DOMAIN = seu.domínio
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
Salve o arquivo e feche-o.
# vi tnsnames.ora
NOME_DA_BASE.seu.domínio =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP.IP.IP.IP)(PORT
= 1521))
)
(CONNECT_DATA =
(SID = PROD)
)
)
Salve o arquivo e feche-o.
Obs.: Neste arquivo você menciona todos os bancos que você teoricamente irá acessar.
Testando o funcionamento; rode o comando:
# sqlplus
Você terá um resultado semelhante a este:
SQL*Plus: Release 11.2.0.2.0 Production on Qui Abr 14 12:25:13 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Introduzir o nome de utilizador:
Insira os dados conforme solicitado acima e veja se a conexão ao banco é estabelecida.
Por fim, no meu caso consegui através dos passos acima solucionar todos os problemas e concluir a
demanda com sucesso. Não sou perito em banco de dados e acredito que devam existir inúmeras
outras formas inclusive mais fáceis de se instalar este cliente Oracle, porém achei que valia a pena
fazer este artigo, as vezes consigo ajudar mais alguém.
Referências:
Nenhum comentário foi encontrado.