daily_expdp_v3.ksh 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/ksh
  2. # ======================================================================
  3. # Richard Wilson - 28.04.2017
  4. # Backup the database using Data Pump.
  5. # ----------------------------------------------------------------------
  6. # History:
  7. # RW 02.06.2014 Minor modifications.
  8. # RW 24.06.2014 Parallelised.
  9. # EXPDP to ASM only.
  10. # RW 26.06.2014 Added ASM dump file deletion.
  11. # RW 04.09.2014 Use dynamic date, changed ORACLE_HOME.
  12. # Corrected errors in ASM purge.
  13. #
  14. # ======================================================================
  15. # OWNER DIRECTORY_NAME DIRECTORY_PATH
  16. # ---------- -------------- -------------------------------------------
  17. # SYS DUMPSET_LOGS create or replace directory DUMPSET_LOGS as '/home/oracle/Scripts/DP/logs';
  18. # SYS DUMPSETS +R5DISK/CONV/dumpset
  19. # ----------------------------------------------------------------------
  20. export ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"
  21. export ORACLE_SID="${1}"i
  22. export SIZE_FLAG="${2}"
  23. export SCRIPTS_DIR="/home/oracle/Scripts/DP"
  24. case ${SIZE_FLAG} in
  25. F|f) SIZE_FLAG="exclude=SCHEMA:\"in \(\'MDMADM\',\'CCBADM\'\)\"";;
  26. S|s) SIZE_FLAG="";;
  27. *) ;;
  28. esac
  29. # Check for log file, and if exists, rename.
  30. [ -f ${SCRIPTS_DIR}/logs/${ORACLE_SID}_`date '+%a'`_daily_expdp.log ] && mv -f ${SCRIPTS_DIR}/logs/${ORACLE_SID}_`date '+%a'`_daily_expdp.log ${SCRIPTS_DIR}/logs/old_${ORACLE_SID}_`date '+%a'`_daily_expdp.log || :
  31. # Export the database.
  32. echo ${ORACLE_HOME}/bin/expdp expman/expdp@${ORACLE_SID} dumpfile=EXP_DIR:${ORACLE_SID}_`date '+%a'`_daily_expdp_%U.dmp full=y exclude=SCHEMA:\"in \(\'MDMADM\',\'CCBADM\'\)\" logfile=DUMPSET_LOGS:${ORACLE_SID}_`date '+%a'`_daily_expdp.log reuse_dumpfiles=y #parallel#
  33. # Purge old EXPDP files from ASM.
  34. if [ $? -eq 0 ]
  35. then
  36. export ORACLE_SID="+ASM"
  37. export ORACLE_HOME="/u01/app/oracle/product/11.2.0/grid"
  38. # last_day=`date +%a --date='3 days ago'`
  39. # ${ORACLE_HOME}/bin/asimcmd rm -f +R5DISK/CONV/dumpset/CONV_${last_day}_daily_expdp_*.dmp
  40. fi
  41. # =============================================================================================================