Script para realizar un export dump en Oracle 11 >19c (Cloud friendly)

 Hola Amig@s,

Aquí les dejo un buen script que por un lado exporta la información de una base de datos utilizando el programa expdp, luego envía un mail con el contenido del log del expdp y por último también tiene la posibilidad de subirlo a un servidor ftp. Viene todo comentado y es fácil de seguir.


# Script que realiza un export de la base de datos del usuario indicado en la variable CONEXION

# Autor - Eduardo Arana

# Asignar chmod 775 y chmod +x al script exportdia.sh

# En caso de fallo al ejecutar, primero ejecutar sed -i 's/\r$//' exportdia.sh

# Para programarlo, utilizar el crontab.


# Es necesario crear la estructura de directorios /export; /export/DIA_ACTUAL; /export/DIA_ANTERIOR;

# adicionalmente hay que crear un directorio en oracle que apunte a /export


#!/bin/bash

clear


#esquema o cliente

export ESQUEMA="NOMBREESQUEMA"


#info bbdd (obtener usando el oraenv y luego un set)

export CONEXION=USUARIO/CONTRASEÑA@ALIAS

export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1

export ORACLE_SID=SIDBBDD

export ORACLE_UNQNAME=UNQNAME


#otras variables

export TIMESTAMP=$(date +%d-%m-%Y_%H-%M-%S)

export DIA_ACTUAL=/export/DIA_ACTUAL

export DIA_ANTERIOR=/export/DIA_ANTERIOR

export CORREO_ELECTRONICO=tucorreo@loquesea.com


echo Borrando el DUMP del día anterior.

sudo rm $DIA_ANTERIOR/*.*

echo Moviendo el export anterior a la carpeta DIA_ANTERIOR

sudo mv $DIA_ACTUAL/*.zip $DIA_ANTERIOR

echo Exportando Datos con el EXPDP

$ORACLE_HOME/bin/expdp \'$CONEXION\' directory=EXPORT dumpfile=expdp_{$ESQUEMA}_${TIMESTAMP}.dmp EXCLUDE=STATISTICS 

$echo Comprimiendo DUMP expdp_{$ESQUEMA}_${TIMESTAMP}.dmp

sudo zip $DIA_ACTUAL/expdp_{$ESQUEMA}_${TIMESTAMP}.zip /export/expdp_{$ESQUEMA}_${TIMESTAMP}.dmp

sudo chmod 777 $DIA_ACTUAL/expdp_{$ESQUEMA}_${TIMESTAMP}.zip

sudo rm /export/*.dmp


echo Enviando resultado de la exportación.

mailx -s "$ESQUEMA $TIMESTAMP Export backup logfile" $CORREO_ELECTRONICO < /export/expdp_{$ESQUEMA}_${TIMESTAMP}.log

echo Export completado el $TIMESTAMP

# Activar el envio de ficheros a un servidor.

#echo Subiendo fichero al FTP

#lftp -e "cd $ESQUEMA/DIA_ACTUAL; put $DIA_ACTUAL/expdp_{$ESQUEMA}_${TIMESTAMP}.zip; bye" -u usuario,password sftp://ipohostnameservidor

exit



Share on Google Plus
    Blogger Comment

0 comentarios: