oracle数据库自动备份方法Oracle数据库⾃动备份脚本分享(超实⽤)
前⾔
众所周知数据是应⽤的核⼼部分,程序坏了换台机器重新发布就可以,但数据⼀旦丢失,造成的损失将不可挽回,程序发布到⽣产后,数据的备份便显得尤为重要,由于不⼀定所有的服务均有资⾦完成⾼级的备份如RAC和DG,在我们只有⼀台数据库服务器的,暂时采取最简单的备份策略,export出dmp进⾏保存。
⼀、备份脚本
1、初始化变量,记录开始⽇志
#变量
sysname=填写⾃⼰的系统名称
syspath=/home/oracle/databak/$sysname
v_date=$(date '+%Y%m%d%H%M%S')
#⽇志⽬录
logfile=${syspath}/backup.${v_date}.log
#打印开始时间
echo backup_time>>${logfile}
date '+%Y-%m-%d %H:%M:%S' >> ${logfile}
echo "backup jcd">>${logfile}
echo "start_time">>${logfile}
date '+%Y-%m-%d %H:%M:%S' >> ${logfile}
2、进⼊oracle⽬录,设置oracle的参数
#进⼊oracle⽬录,设置oracle变量
cd /home/11g/app/oracle/product/11.2.0
export ORACLE_HOME=/home/11g/app/oracle/product/11.2.0/db_1
export PATH=$PATH:/home/11g/app/oracle/product/11.2.0/db_1/bin
export ORACLE_SID=SID名称
3、导出数据
echo $syspath
v_date=$(date '+%Y%m%d%H%M%S')
filename=$syspath/jcd${v_date}.dmp
#导出命令
exp username/password file=${filename} compress=n >> ${logfile}
echo "end_time">>${logfile}
date '+%Y-%m-%d %H:%M:%S'>>${logfile}
4、压缩dump包
gzip ${filename}
5、使⽤scp,将压缩后的包传递到备份服务器,注意备份服务器上⽬录需要预先创建
scp ${filename}.gz remot_name@remot_ip:/home/weblogic/databak/备份⽬录
⼆、设定脚本执⾏时间
我们设定规则为每天凌晨2点执⾏⼀次,采⽤crontab来进⾏处理
执⾏crontab -e,设定如下规则:
0 2 * * * sh /home/oracle/db.sh
⼤家可以参照上⾯去写⼀个适合⾃⼰⽣产数据库的⼀个脚本,定期备份。
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。