Páginas

terça-feira, 1 de abril de 2014

Configurar Histórico de Comandos para o SQL*PLUS ou RMAN

Utilizando Ferramentas para facilitar trabalho

Olá a todos. 

Nesse post vou falar sobre uma necessidade para facilitar o nosso trabalho com as ferramentas texto que utilizamos nos servidores linux, que é a recuperação fácil do histórico dos comandos utilizados em ferramentas como o SQL*Plus ou Rman. A ideia é que recuperemos o histórico dos comandos nessas ferramentas, no linux, com a seta para cima, e também poder editá-los como fazemos no prompt do próprio Linux.

Quando utilizamos o SQL*Plus, no Linux, não temos facilmente a opção de voltar ou de editar os comandos que vamos utilizando nesse ambiente. O SQL*Plus tem os atalhos para listar, editar, etc... mas se torna muito trabalhoso. Não pense que será possível  transformar essas ferramentas em editores de texto, ok?! A ideia é facilitar o trabalho, e não a de mudar o foco da ferramenta.

Assim conheci uma ferramenta que me auxilia nessa funçãoO utilitário rlwrap (readline wrapper) permite a edição da entrada do teclado (comandos) para qualquer outro comando/programa. Esta é uma adição muito útil para o SQL*Plus e RMAN em Linux. 

O histórico dessas entradas é mantido entre "invocações", separadamente para cada comando/programa, e o trabalho de fechar essa pesquisa, como em bash é uma lista de palavras que podem ser especificadas na linha de comando. Com o rlwrap, você pode consultar o histórico, editar as linhas de comando e completar o comando com o tab, assim como fazemos na linha de comando do Linux, que utiliza a mesma engenharia.

Este artigo explica como instalar o rlwrap e configurá-lo para o SQL*Plus e RMAN. Não testei para demais ferramentas, ou em outros SOs mas acredito que deva funcionar também.

Vamos lá, então:

Instalação por um repositório....



Configure o repositório EPEL para o yum. Neste caso, eu estava instalando no Oracle Linux 6 (x86-64). Não se preocupe por que ele é listado como um pacote i386, pois só instala o repositório yum.
#wget http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
#rpm -Uvh epel-release-6-8.noarch.rpm

Com o repositório ok, poderemos utilizar o YUM para instalar a ferramenta:
# yum install rlwrap

Instalação manual....
  1. Efetuar o Download da ferramenta no site utopia.knoware.nl ;
  2. Descompactar o arquivo :
    gunzip rlwrap*.gz
    tar -xvf rlwrap*.tar
  3. Acesse a pasta e compile o programa:
    cd rlwrap*
    ./configure
    make
    make check
    make install
    Vale comentar que pode faltar alguma biblioteca e dai, para cada caso, deveremos instalá-las, ok?! uma delas que precisei, foi a glibc
  4. Execute os seguintes comandos, ou melhor ainda, acrescente-os, em seguida, ao ". Bash_profile" do proprietário do software Oracle.
    alias rlsql='rlwrap sqlplus'
    alias rlrman='rlwrap rman'
    Assim, quando digitar os apelidos criados, ele executa o rlwrap para armazenar os históricos da ferramenta em questão.
Uma coisa que vale falar, rlwrap só suporta sessões interativas, então scripts como sqlplus <<EOF ... select ... EOF pode não funcionar como esperado.

Ainda, rlwrap não é uma ferramenta da Oracle! Eu acho que é melhor deixar os comandos sqlplus e RMAN limpos e criar apelidos, usando um nome diferente.

Nenhum comentário:

Postar um comentário