Below is a shell script which backup dmpfile to ASM storage everyday:
#!/bin/bash #asmcmd mkdir DATA/ASM_DATAPUMP_BACKUP #create directory ASM_DATAPUMP_BACKUP as '+DATA/ASM_DATAPUMP_BACKUP'; #grant read,write on directory ASM_DATAPUMP_BACKUP to system; #create directory LOGDIR as '/s01/logdir'; #grant read,write on directory LOGDIR to system; #create directory DMPBACKUP as '/s01/dmpbackup'; #grant read,write on directory DMPBACKUP to system; export ORACLE_HOME=/s01/oracle/product/11.2.0/dbhome_1; export ORA_CRS_HOME=/s01/grid; export ORACLE_SID=PROD1; export PATH=$ORACLE_HOME/bin:/s01/grid:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/home/oracle/bin:$ORACLE_HOME/OPatch; thisday=`date "+%Y""%m""%d"`; expfilename='maclean'$thisday'.dmp'; explogname='maclean'$thisday'.log'; yesterday=`date -d "1 days ago" +%Y%m%d`; yesterdayfile='maclean'$yesterday'.dmp'; expdp system/system schemas=maclean directory=ASM_DATAPUMP_BACKUP dumpfile=$expfilename logfile=LOGDIR:$explogname; #TRANSFER FILE FROM ASM TO FILESYSTEM sqlplus / as sysdba <<EOF exec DBMS_FILE_TRANSFER.COPY_FILE('ASM_DATAPUMP_BACKUP','$expfilename','DMPBACKUP','$expfilename'); EOF export ORACLE_SID=+ASM1; export ORACLE_HOME=/s01/grid; $ORACLE_HOME/bin/asmcmd rm DATA/ASM_DATAPUMP_BACKUP/$yesterdayfile; #/usr/bin/find /s01/dmpbackup -mtime 1 -name 'maclean*.dmp' -exec /bin/rm -rf {} \; #asmcmd cp DATA/ASM_DATAPUMP_BACKUP/$expfilename /s01/dmpbackup;
Leave a Reply