Mostrando entradas con la etiqueta 11g. Mostrar todas las entradas
Mostrando entradas con la etiqueta 11g. Mostrar todas las entradas

lunes, 4 de octubre de 2010

Programar backup Oracle 11g en Centos 5

A continuación se realizará un script que generará un backup de Oracle utilizando el utilitario de exportacion EXP. 


Script del archivo 1 (backup1.bat):



#!/bin/bash
###########################################################
## Script para realizar backup Oracle
## ver 1.0
## Alex Echavarría
###########################################################
XBACKUP="/backups/oracle"
XDIA=`date +'%Y%m%d-%H%M'`
XDIA_BACKUP=$XBACKUP/$D_DIA
XDIA_F=`date +'%d-%m-%Y %H%M'`
echo "***Proceso de Backup iniciado: " $D_DIA_F


##Creamos el directorio para realizar el backup
mkdir $XDIA_BACKUP
echo "  -> Carpeta creada..."
chmod 777 $XDIA_BACKUP
echo "  -> Generando backup..."


##Seteamos variables de Entorno
export ORACLE_SID=nombre_instancia_oracle
export ORACLE_HOME=/usr/app/oracle/product/11.1.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_OWNER=oracle


##Lanzamos exportacion de ORACLE
exp system/1234 file=$XDIA_BACKUP/archivo_data.dmp owner=pruebas, administracion, conta1, conta2 log=/tmp/export_orasite.log buffer=1000000
echo "  -> Comprimiendo el Backup..."


##Comprimimos el archivo generado
gzip -8 $XDIA_BACKUP/archivo_data.dmp
echo "  -> Backup Generado en " $XDIA_BACKUP 




Ahora necesitamos un script para ejecutar el archivo 1 y que todas las salidas de este se guarden en un archivo log. Para esto simplemente escribimos lo siguiente:


Script del archivo 2 (backup2.bat) :


#!/bin/bash
cd /home/oracle
./backup_oracle.bat >> /tmp/oracle.log


Lo que hará el segundo script es ejecutar el bat 1 y enviar todas las salidas del mismo al archivo oracle.log.

Si consultamos el archivo podremos visualizar algo así:


Ahora que ya tenemos ambos archivos debemos ejecutarlos indicarle al S.O. que lo ejecute en las horas que nosotros deseemos, para esto utilizamos el crontab (Programador de Tareas de Linux). Este es un archivo ubicado en /etc/crontab.

Editamos el archivo con vi:  # vi /etc/crontab

Y agregamos una línea como esta al final:


Donde 45 indica el minuto, y 12,18 la hora, es decir este script se ejecutará a las 12:45 pm. y a las 6:45 p.m.