Script para AFs (Assert Faileds)

Versão para impressãoEnviar para amigoVersão PDF

Quando ocorre algo muito grave no banco de dados é gerado um arquivo de "dump" chamado Assert Failed (AF), que faz uma foto da situação do banco no momento que ocorreu o problema.
Este AF pode ser gerado de modo forçado também (veja aqui como).

Este AF, as vezes pode ficar muito grande e extremamente ineficiente para ler qualquer coisa nele.
Abaixo segue um script que escrevi para "quebrar" o AF em pequenos arquivos.
Utilizo ele em AIX, mas acredito que as sintaxes de comandos seja igual em outros *nix.

#!/usr/bin/bash

if [ $# -eq 0 ]; then
  echo "Informe arquivo AF para separar..."
  exit 1
fi

vArq=$1
if [ ! -f ${vArq?} ]; then
  echo "Arquivo nao encontrado..."
  exit 1
fi

echo "Separando arquivo ${vArq?}..."
vCount=$(grep -c "^===========-------------" $1)
vCount=$((vCount - 1 ))
csplit -ksn3 ${vArq?} /^===========-------------/ {$vCount}

echo "Gerado $(ls xx*| wc -l) / $vCount arquivos..."
echo
echo "Renomendo..."
vPri=0
for x in xx*
do
 vNome=$(head -n2 $x | tail -n 1 | sed -e 's,/.*/,,g'| tr " " "." | tr -d ":" | tr -d "-" )
 [ $vPri -eq 0 ] && vNome="af.$(basename $vArq)"
 vPri=1
 mv $x af.$vNome
 printf "."
done
echo ""

Após a execução do script, você terá algo parecido com isso :

[dump/x]$ ifx.separa.af.sh  ../af.af9c0423
Separando arquivo ../af.af9c0423...
Gerado       81 / 79 arquivos...

Renomendo...
.................................................................................
[dump/x]$ ls
af.Environment.Variables       af.onstat.g.cmsm               af.onstat.g.mgm                af.onstat.g.sch                af.onstat.g.tpf
af.af.af.af9c0423              af.onstat.g.con                af.onstat.g.nbm                af.onstat.g.sds                af.onstat.g.wmx
af.oncheck.V                   af.onstat.g.ddr                af.onstat.g.nsc                af.onstat.g.sds.verbose        af.onstat.g.wst
af.oninit.V                    af.onstat.g.dic                af.onstat.g.nsd                af.onstat.g.seg                af.onstat.h
af.onmode.V                    af.onstat.g.dis                af.onstat.g.nss                af.onstat.g.ses.0              af.onstat.k
af.onstat.C.all                af.onstat.g.dll                af.onstat.g.nta                af.onstat.g.ses.163408         af.onstat.l
af.onstat.F                    af.onstat.g.dri                af.onstat.g.opn                af.onstat.g.smb.c              af.onstat.p
af.onstat.R                    af.onstat.g.dsc                af.onstat.g.pgp                af.onstat.g.smb.s              af.onstat.s
af.onstat.V                    af.onstat.g.env                af.onstat.g.pos                af.onstat.g.smx                af.onstat.t
af.onstat.b                    af.onstat.g.env.163408         af.onstat.g.ppf                af.onstat.g.sql                af.onstat.u
af.onstat.c                    af.onstat.g.glo                af.onstat.g.prc                af.onstat.g.sql.163408         af.onstat.x
af.onstat.d                    af.onstat.g.ioa                af.onstat.g.proxy.all          af.onstat.g.stk.3845044.light  af.tail.100.ifxvulca1.log
af.onstat.f                    af.onstat.g.ipl                af.onstat.g.qst                af.onstat.g.stk.all            af.uname.a
af.onstat.g.arc                af.onstat.g.lap                af.onstat.g.ras                af.onstat.g.stq
af.onstat.g.ath                af.onstat.g.lmx                af.onstat.g.rbm                af.onstat.g.sts
af.onstat.g.cac                af.onstat.g.lsc                af.onstat.g.rss                af.onstat.g.sym
af.onstat.g.cdr                af.onstat.g.mem                af.onstat.g.rss.verbose        af.onstat.g.tgp

0
Ainda não votado
Sua avaliação: Nenhum

Funcionou Perfeitamente

Funcionou perfeitamente, valeu por compartilhar este script Cesar.

Comentar

O conteúdo deste campo é privado não será exibido ao público.
  • Endereços de páginas de internet e emails viram links automaticamente.
  • Você pode usar tags BBCode no texto.
  • Tags HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>

Mais informações sobre as opções de formatação

CAPTCHA
Este teste é para bloquear programas automatizados e previnir spams
CAPTCHA de Imagem
Digite o texto exibido na imagem.