写一个oracle备份脚本,每天备份,然后保存7天!
采用数据泵的方式备份,首先要建立备份目录
select * from dba_directories;
grant read,write on directory DBDUMP to mhsj;
备注:
备份脚本
#!/bin/bash
#
#about backup database
#set -x
#author mhsj.net
Dsid=ORCL #实例名
Duser=mhsj #用户
Dpasswd=mhsj #密码
PATCH_LOG="/var/log/oracle_dump.log"
Date=`date +"%Y%m%d"`
echo -en "`date "+%F %T "` \t" > $PATCH_LOG
[ ! -a $PATCH_LOG] && touch $PATCH_LOG
chmod 777 $PATCH_LOG
check_status()
{
if [ $? -eq 0 ]
then
echo -e "$1 $2 ... [ OK ] " |tee -a $PATCH_LOG
else
echo -e "\033[1;31;40m $1 $2...... [FAILED] \033[0m"
echo " $1 $2 ... [FAILED]" >> $PATCH_LOG
fi
}
dump_oracle()
{
echo "bakup Oracle database ...... Starting"
expdp $Duser/$Dpasswd@$Dsid directory=DBDUMP dumpfile="$Dsid-$Date.DMP" logfile="$Dsid-Date.log" >> $PATCH_LOG
check_status bakup Oracle
}
del_file()
{
find /home/dumpfiles/ -mtime +7 -type f | xargs rm -rf
#这里具体的路径根据数据泵的备份路径而定
}
dump_oracle && del_file
然后切换oracle用户
su - oracle
配置计划任务(每天晚上9点半)
crontab -e
30 21 * * * /home/oracle/db_bk.sh
转载请注明:IT笔记分享 » 数据库 » ORACLE 备份脚本(expdp方式)
版权声明
本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。