Entendendo AWK

Objetivo: entender um pouco mais sobre essa poderosa ferramenta de programação shell AWK

Primeiramente, vamos criar uma situação onde se aplique essa utilização.

Imagine que seja necessário realizar alteração de um determinado parâmetro (alter system set max_dump_file_size=20m scope=both ;) para todas as 60 instâncias de produção.

Poderíamos criar um awk que realize essa alteração de uma vez criando um log para cada BD logado.
Vamos aos scripts

vi awk.sh

cat bancos.txt | while read linha
do
banco=`echo $linha | awk ‘{print $1}’`
senha=`echo $linha | awk ‘{print $2}’`
instancia=`echo $linha | awk ‘{print $3}’`
echo “conn ${banco}/$senha@instancia
echo “spool altera_${banco}.out”
echo “show user”
echo “@/home/oracle/scripts/altera.sql”
echo “spool off”
done >> altera_databases.sql

Leitura do arquivo bancos.txt retirando de lá as informações necessárias (usuário, senha e instância) para entrada em cada instância para alteração do parâmetro especificado.

cat bancos.txt
#schema  password instance
system blah ora10g
system bla02 ora11g
system blah03 ora9i   # e assim por diante

cat /home/oracle/scripts/altera.sql

set time on
set timing on
alter system set max_dump_file_size=20m scope=both ;

A partir daí é só entrar de um server via sqlplus:
sqlplus /nolog
@altera_databases.sql

Concordo que na primeira utilização parece demorado a criação do arquivo bancos.txt, no entanto após criado poderá ser utilizado para todas as próximas alterações. Economizanto tempo e deixando o trabalho automatizado.

O AWK é uma ferramenta poderosíssima, vale verificar mais funcionalidades para esse recurso.

Abraços

Atenciosamente,

José Eduardo Fiamengui Júnior
jeduardounicamp@gmail.com

Sobre oradeep

José Eduardo Fiamengui Júnior Graduação: Tecnologia em Informática pela Universidade Estadual de Campinas (Unicamp) Pós-Graduação: Administração em Banco de Dados Oracle pelo Instituto Brasileiro de Tecnologia Avançada (IBTA) Mba em Gestão Estratégica em TI pela FGV OCE Certified ITIL Certified Empresa Atual: Dba Oracle e Performance Specialist na Ccee Empresa Atual: Instrutor Oracle IBTA
Esta entrada foi publicada em Shell-Scripts. ligação permanente.

Uma resposta a Entendendo AWK

  1. Katia Oku diz:

    Eduardo,

    Dei uma olhada no blog e não encontrei nada a respeito de import e export. Posso até não ter procurado direito, mas você poderia postar algo sobre isso, estou tendo dificuldades em realizar um import e export.

    Att,
    Katia Oku

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s