欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle使用expdp定时备份数据库

程序员文章站 2022-03-10 19:09:14
在测试环境中我们需要每天备份oracle中的数据,以便错误的操作、测试或者覆盖其中有价值的数据,暂时不考虑生产环境的全量增量备份策略,本文只是简单的oracle数据库使用expdp命令设置定时任务备份数据。 ......

目录

oracle使用expdp备份数据库

备份shell脚本

#!/bin/sh
#获取当前时间
backuptime=$(date +%y%m%d)
#数据库备份data_pump_dir目录的绝对路径
dmpdir=/u01/app/oracle/admin/orcl/dpdump
#备份的文件名
dmpname=bk-$backuptime.dmp
#导出日志文件
logname=bk-$backuptime.log
#压缩后的文件
zipname=bk-$backuptime.dmp.zip

expdp 用户名/密码@实例名 directory=data_pump_dir schemas=用户名 dumpfile=$dmpname logfile=$logname
cd $dmpdir
zip -9 $zipname $dmpname
rm -rf $dmpdir/$dmpname

#删除30天以前的文件
find ./ -mtime +30 -name "bk-*" -exec rm -rf {} \;

创建定时任务

推荐linux中使用oracle用户环境执行crontab任务。加入. ~/.bash_profile;是为了获取用户的环境变量,因为在测试中出现expdp命令不能使用的情况。

crontab -e
30 1 * * * . ~/.bash_profile;  /bin/sh /home/oracle/autobackuporacle.sh