
neliobjr
(usa Red Hat)
Enviado em 22/05/2012 - 09:46h
É o seguinte, grosseiramente falando a crontab seria hipoteticamente falando, um usuário a parte, apesar de vc executar a crontab com o usuário oracle, a crontab não assume as variáveis do usuário oracle, portanto vc precisa especificar no seu script quais são os caminhos do oracle_home, oracle_base, etc...
Assumo que já esteja criado o diretório onde será salvo o arquivo de dmp de backup dentro do oracle, uma referencia para o diretório físico no linux.
no linux.
mkdir /u01/dmp
sqlplus / as sysdba
create or replace directory dmp as '/u01/dmp';
Script de backup, ficando assim:
#!/bin/bash
# Este script tem o objetivo de realizar backup pelo metodo de expdp(DATA PUMP), feito em 21-11-09
ORACLE_HOME=/u01/app/oracle/product/1020; export ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin
data=`date +%d_%m_%Y-%H%M`
# Nao eh possivel gerar expdp se ja existirem arquivos de expdb no destino.
# esta linha tem funcao de apagar os arquivos existentes.
cd /u01/dmp
rm -rf portalgmf.dp varzeaweb.dp prodidcfull.dp rondoweb.dp naxosrj.dp exp_*.log
############################ NOME_DO_BANCO
export ORACLE_SID=nome_do_banco
expdp "'/ as sysdba'" directory=dmp dumpfile=nome_do_banco.dp logfile=exp_nome_do_banco.log schemas=nome_do_banco # Gera atraves de dump file, arquivo de backup