oracle expdp 备份脚本

#!/bin/bash
#Oracle 环境变量 NLS_LANG
=AMERICAN_AMERICA.AL32UTF8 ORACLE_SID=zgw ORACLE_BASE=/opt/oracle ORACLE_HOME=/opt/oracle/11g PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin export ORACLE_SID ORACLE_BASE ORACLE_HOME NLS_LANG PATH #获取时间戳 export BAKUPTIME=`date +%Y%m%d%H%M%S`
#dump文件生成目录 export DATA_DIR
=/home/oracle/backup/dump
#压缩文件存放目录 export TAR_DIR
=/home/oracle/backup/tars mkdir -p $DATA_DIRmkdir -p $TAR_DIR cd $DATA_DIR echo "Starting bakup..." echo "Bakup file path $DATA_DIR/scott_expdp_$BAKUPTIME.dmp"

#使用expdp时需要先指定转储文件和日志文件所在的目录,可以通过如下命令实现
#SQL>CREATE OR REPLACE DIRECTORY scott_backup as ‘/home/oracle/backup/dump‘;
#SQL>grant read,write on directory scott_backup to SCOTT;
expdp scott/scott directory=scott_backup dumpfile=scott_expdp_$BAKUPTIME.dump logfile=scott_expdp_$BAKUPTIME.log parallel=4
#parallel=4 为并行度,对于备份大数据库有助于减少备份时间,但会增加CPU负载。
echo "Starting tar..."
echo "Tar file path $TAR_DIR/SCOTT_$BAKUPTIME.tar.gz"
tar -zcvf $TAR_DIR/scott_expdp_$BAKUPTIME.tar.gz scott_expdp*
echo "Bakup job is done!"
#历史dump文件保留7天
find  $DATA_DIR -type f -mtime +7 -exec rm -rf {} \;

参考:http://blog.itpub.net/235507/viewspace-704379/

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。