Created
July 30, 2012 13:46
-
-
Save iacosta/3207025 to your computer and use it in GitHub Desktop.
rman.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Script de copias RMAN Oracle Database | |
# Autor by IVAN ACOSTA | |
export PATH=$PATH:/usr/local/bin:/bin:/usr/bin | |
echo "***********************************************" | |
echo "*Backup Database (UNIMINUTO) Inicializando *" | |
echo "***********************************************" | |
echo "Fecha:`date "+%Y-%m-%d %H:%M:%S"` ............." | |
echo "***********************************************" | |
echo "***********************************************" | |
echo "* Verifica la disponibilidad de los SID's *" | |
echo "***********************************************" | |
# Check to see if a Database name was received | |
if [[ $# -eq 0 ]] | |
then | |
echo "Database name argument is missing" | |
exit 1 | |
fi | |
export ORA_SID_LOWER=`/bin/echo $1 | /usr/bin/tr "[:upper:]" "[:lower:]"` | |
export ORA_SID_UPPER=`/bin/echo $1 | /usr/bin/tr "[:lower:]" "[:upper:]" ` | |
# varaibles for RAC | |
export ORA_DB=$ORA_SID_UPPER | |
#export ORA_INSTANCE=$ORA_SID_UPPER"1" | |
# variable for non-RAC | |
export ORA_INSTANCE=$ORA_SID_UPPER | |
export MP="/u04" | |
# Verify that the database is available: | |
DBVERIFY=`ps -ef | grep ora_pmon_$ORA_SID_UPPER | grep -v 'grep' | wc -l` | |
if [ $DBVERIFY = "0" ]; then | |
echo "Base de datos con nombre $ORA_SID_UPPER no esta arriba" | |
exit 1 | |
else | |
echo "Base de datos con nombre $ORA_SID_UPPER se encuentra arriba" | |
fi | |
ZZ=`/bin/date +%w` | |
ZZ=`/bin/date +%w` | |
if [ $ZZ = "0" ]; then | |
# Sunday | |
INCREMENTAL_LVL="0" | |
elif [ $ZZ = "1" ]; then | |
# Monday | |
INCREMENTAL_LVL="1" | |
elif [ $ZZ = "2" ]; then | |
# Tuesday | |
INCREMENTAL_LVL="1" | |
elif [ $ZZ = "3" ]; then | |
# Wednesday | |
INCREMENTAL_LVL="0" | |
elif [ $ZZ = "4" ]; then | |
# Thursday | |
INCREMENTAL_LVL="1" | |
elif [ $ZZ = "5" ]; then | |
# Friday | |
INCREMENTAL_LVL="1" | |
elif [ $ZZ = "6" ]; then | |
# Saturday | |
INCREMENTAL_LVL="1" | |
else | |
# Unknown day | |
INCREMENTAL_LVL="0" | |
fi | |
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 | |
ORAENV_ASK=NO; export ORAENV_ASK | |
ORACLE_SID=$ORA_INSTANCE; export ORACLE_SID | |
echo $ORACLE_SID | |
source /usr/local/bin/oraenv | |
export BACKUP_HOME=/home/oracle/rman_backup_scripts | |
export RMAN_COMMAND_FILE=$BACKUP_HOME/command_file.rman | |
# POPULATING THE COMMAND FILE: | |
echo "SQL 'alter system checkpoint';" > $RMAN_COMMAND_FILE | |
echo "SQL 'truncate table sys.fga_log$';" > $RMAN_COMMAND_FILE | |
echo "DELETE ARCHIVELOG ALL COMPLETED BEFORE 'sysdate -1';" >> $RMAN_COMMAND_FILE | |
echo "DELETE NOPROMPT OBSOLETE;" >> $RMAN_COMMAND_FILE | |
echo "CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;" >> $RMAN_COMMAND_FILE | |
echo "CONFIGURE CONTROLFILE AUTOBACKUP ON;" >> $RMAN_COMMAND_FILE | |
echo "CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;" >> $RMAN_COMMAND_FILE | |
echo "CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;" >> $RMAN_COMMAND_FILE | |
echo "CONFIGURE MAXSETSIZE TO 50G;" >> $RMAN_COMMAND_FILE | |
echo "CONFIGURE DEFAULT DEVICE TYPE TO sbt;">>$RMAN_COMMAND_FILE | |
echo "CONFIGURE CHANNEL DEVICE TYPE sbt PARMS 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)';">>$RMAN_COMMAND_FILE | |
echo "BACKUP AS COMPRESSED BACKUPSET DATABASE;" >> $RMAN_COMMAND_FILE | |
echo "BACKUP as compressed backupset ARCHIVELOG ALL NOT BACKED UP DELETE ALL INPUT;" >> $RMAN_COMMAND_FILE | |
# echo "DELETE NOPROMPT ARCHIVELOG ALL BACKED UP 1 TIMES TO DEVICE TYPE DISK;" >> $RMAN_COMMAND_FILE | |
# echo "backup backupset completed after 'sysdate-3/24' format '$MP/orabackup/$ORA_SID_UPPER/rman/%U';" >> $RMAN_COMMAND_FILE | |
echo "delete noprompt obsolete device type disk;" >> $RMAN_COMMAND_FILE | |
# echo "backup as compressed backupset current controlfile;" >> $RMAN_COMMAND_FILE | |
echo "backup as compressed backupset spfile;" >> $RMAN_COMMAND_FILE | |
echo "SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';" >> $RMAN_COMMAND_FILE | |
echo "exit" >> $RMAN_COMMAND_FILE | |
export LANG=en_us_8859_1 | |
export WEEKDAY=`/bin/date +%A` | |
export WEEKDAY=`/bin/echo $WEEKDAY | /usr/bin/tr "[:lower:]" "[:upper:]" ` | |
export RMAN_LOGFILE=$BACKUP_HOME/log/$WEEKDAY\_rman_backup_$ORA_SID_UPPER.log | |
rman target / @$RMAN_COMMAND_FILE LOG=$RMAN_LOGFILE | |
echo "***********************************************" | |
echo "**Enviando email .............................*" | |
mutt -s "Informe Rman ${ORACLE_SID}" -a $BACKUP_HOME/log/$WEEKDAY\_rman_backup_$ORA_SID_UPPER.log iacosta@correo.co < /u01/app/oracle/product/11.2.0 | |
/scripts/correo_body.txt | |
echo "** Proceso Finalizado .....................OK.*" | |
echo "***********************************************" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment