Script sh per schedulare EXPORT

Dobbiamo schedualare a contab l'export di tre schema ed inviare l'email di notifica.
Inoltre impostiamo una retention di 40 giorni per la conservazione dei file, dopodiché verranno cancellati.

Creiamo la directory /u01/app/oracle/work
sotto la quale creiamo dei file con estensione .sh, uno per ogni schema da esportare.

Dare i permessi 775.


[root@oraprd1 work]# more /u01/app/oracle/work/export_schema_TEDMF.sh

#!/bin/bash -x
export QSAVEDIR=/u01/app/oracle/work
export ORACLE_HOME=/u01/app/oracle/product/11gR24
export ORACLE_BASE=/u01/app/oracle
PATH=/bin:/usr/bin:${ORACLE_HOME}/bin:/usr/local/bin:/usr/sbin
export PATH
export ORACLE_SID=PROD1
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P15
export DATA_PUMP_DIR=/u01/app/oracle/admin/PROD1/dpdump/
export TIMESTAMP=`date +_%Y%m%d_%H%M`
export SCHEMA=REFP
$ORACLE_HOME/bin/expdp \"sys/xxxxxx as sysdba\" directory=DATA_PUMP_DIR SCHEMAS=${SCHEMA} dumpfile=expdp_${SCHEMA}_${TIMESTAMP}.dmp logfile=expdp_log_${SCHEMA}_${TIMESTAMP}.log
echo "In allegato il log dell export di oggi ${TIMESTAMP} dello schema ${SCHEMA}" | mutt -x pippo@dominio.it -s "Export SCHEMA ${SCHEMA}" -a $DATA_PUMP_DIR/expdp_log_${SC
HEMA}_${TIMESTAMP}.log
export retention=40
find $DATA_PUMP_DIR -name 'expdp*' -type f -ctime +$retention -exec rm '{}' \;
exit


Definire a crontab il giorno e l'orario di esecuzione.

[root@oraprd1 work]# crontab -l
30 01 * * 1-6 /u01/app/oracle/work/export_schema_REFP.sh 1>/dev/null 2>&1
30 02 * * 1-6 /u01/app/oracle/work/export_schema_ORAM.sh 1>/dev/null 2>&1
00 04 * * 1-6 /u01/app/oracle/work/export_schema_LEFF.sh 1>/dev/null 2>&1

1>/dev/null 2>&1
serve per non visualizzare lo standard output ed error  (a video) dello script.

Post popolari in questo blog

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione

Create e Drop Pluggable Database