RafaTrajano
(usa Red Hat)
Enviado em 03/10/2014 - 21:54h
xDhii escreveu:
Boa noite.
Qual distro você usa?
Poderia anexar ambos os arquivos para mim poder dar uma analisada com calma?
Talvez consiga de ajudar.
Abraços.
Então, a distro é RHEL 5.8 x86_64
Versão de Kernel: 2.6.18-308.el5
Script 1 (responsável por fazer backup level 0 em um banco de dados Oracle 11g R2):
#!/bin/bash
export ORACLE_SID=DWB
v=v\$instance
data=$(date +%d-%m-%y-%HH-%MM)
echo " "
echo " "
echo " "
echo "Instancia ativa no sistema: " $ORACLE_SID
echo " "
echo " "
echo " "
echo " "
echo "Acessando banco de dados..."
sleep 4
sqlplus / as "sysdba" <<EOF
host echo Verificando existencia e status da intancia: $ORACLE_SID;
host sleep 3
select instance_name, status from v\$instance;
exit
EOF
echo " "
echo " "
echo " "
echo "Iniciando sessao no RMAN..."
sleep 5
rman target / log=/u01/logs_rman/log_rman_bkp_level_0_$data.log <<EOF
backup incremental level 0 database;
exit
EOF
echo " "
echo " "
echo " "
echo "Gerando arquivo de log do backup..."
sleep 5
echo " "
echo " "
echo " "
echo "Pasta de destino: /u01/logs_rman/"
echo "Arquivo de log: log_rman_bkp_level_0_$data.log"
echo " "
echo " "
echo " "
Script 2 (responsável por fazer backup incremental level 1 em um banco de dados Oracle 11g R2):
#!/bin/bash
export ORACLE_SID=DWB
v=v\$instance
data=$(date +%d-%m-%y-%HH-%MM)
echo " "
echo " "
echo " "
echo "Instancia ativa no sistema: " $ORACLE_SID
echo " "
echo " "
echo " "
echo " "
echo "Acessando banco de dados..."
sleep 4
sqlplus / as "sysdba" <<EOF
host echo Verificando existencia e status da intancia: $ORACLE_SID;
host sleep 3
select instance_name, status from v\$instance;
exit
EOF
echo " "
echo " "
echo " "
echo "Iniciando sessao no RMAN..."
sleep 5
rman target / log=/u01/logs_rman/log_rman_bkp_level_1_$data.log <<EOF
backup incremental level 1 database;
exit
EOF
echo " "
echo " "
echo " "
echo "Gerando arquivo de log do backup..."
sleep 5
echo " "
echo " "
echo " "
echo "Pasta de destino: /u01/logs_rman/"
echo "Arquivo de log: log_rman_bkp_level_1_$data.log"
echo " "
echo " "
echo " "
Script 3 (responsável por fazer a validação dos backups em caso de recovery em banco de dados Oracle):
#!/bin/bash
export ORACLE_SID=DWB
v=v\$instance
data=$(date +%d-%m-%y-%HH-%MM)
echo " "
echo " "
echo " "
echo "Instancia ativa no sistema: " $ORACLE_SID
echo " "
echo " "
echo " "
echo " "
echo "Validando backup..."
sleep 15
rman target / log=/u01/logs_rman/valida_bkp_$data.log <<EOF
restore database validate;
restore archivelog all validate;
exit
EOF
echo " "
echo " "
echo " "
echo "Pasta de destino: /u01/logs_rman/"
echo "Arquivo de log: valida_bkp_$data.log"
echo " "
echo " "
echo " "
Os scripts se executados manualmente funcionam perfeitamente, mas quando crio um cron pra agendar a execução automática desses scripts a cron não executa os mesmos...
A minha ideia é fazer com que cada script de backup seja executado a cada dois dias..
Exemplo: Domingo executa o script de backup level 0 na segunda executa o de backup incremental level 1 na terça novamente executa o script de backup level 0 e assim sucessivamente, pois, é assim que foi definida a política de backup do banco de dados e a janela de recuperação está apenas para dois dias, ou seja, na terça quando for feito novamente o backup level 0 o backup feito no domingo também level 0 se torna obsoleto sendo então excluído automaticamente pelo Oracle...
O agendamento que eu fiz foi apenas a critério de teste pra ver se funcionaria, mas, não funcionou..
Obrigado,
Rafael