#! /bin/bash
#如果oracle参数不明确,请使用命令查看
# su - oracle
# echo $ORACLE_HOME
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=/app/oracle/product/11.2.0/db
export ORACLE_SID=orcl
export PATH="$ORACLE_HOME/bin:$PATH:$HOME/bin"
export DATA_PUMP_DIR=/app/oracle/admin/orcl/dpdump
#oracle字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#获取当前时间,格式:20191111
DATE=$(date +%Y%m%d)
#执行备份的用户
user=test
#执行备份的用户密码
userpass=test
#dumpfilename
dumpfilename=$user"_"$DATE
#开始备份,此处采用expdp数据方式导出
echo “start oracle backup …”
expdp $user/$userpass@192.168.73.10/orcl schemas=$user dumpfile=$dumpfilename.dmp directory=DATA_PUMP_DIR
echo ‘Oracle backup successfully.’
#开始压缩
cd $DATA_PUMP_DIR
echo “开始压缩…”
tar zcvf $dumpfilename.tar.gz $dumpfilename.dmp
echo “压缩完毕”
#删除.dmp文件
rm -rf $dumpfilename.dmp
#删除6小时前的备份文件压缩包
echo ‘remove files one day ago…’
#删除6小时前的备份
find /app/oracle/admin/orcl/dpdump/ -mmin +360 -name “*.tar.gz” -exec rm -Rf {} ;
echo ‘remove successsfully.’
史上最好linux下oracle自动备份
最新推荐文章于 2022-12-14 09:40:35 发布