如何在unix下自动备份oracle数据库

 我来答
badkano
2017-11-15 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885360
团长

向TA提问 私信TA
展开全部

使用EXPDP自动备份数据

1.创建ORACLE Directory对象,如:

scott目录=/home/oracle/
 create directory scott as '/home/oracle/';
Grant read,write on directory scott to scott;

2.创建备份脚本-

#cd /home/oracle/
 
#touch expdp.sh
 
#chmod 775 expdp.sh
 
#vi expdp.sh

3.编辑expdp.sh文件内容如下:

[oracle@wg1 ~]$ vi expdp.sh
 
#/bin/sh
export ORACLE_SID=prod
export ORACLE_HOME=/home/u01/app/oracle/product/11.2.0/db_1
export NLS_LANG=american_america.zhs16gbk
 
now=`date +%Y%m%d`
 
dmpfile=db$now.dmp
 
echo start exp $dmpfile ...
 
/home/u01/app/oracle/product/11.2.0/db_1/bin/expdp scott/tiger@prod DUMPFILE=$dmpfile DIRECTORY=SCOTT
 
(expdp system/sys@dev DUMPFILE=$dmpfile DIRECTORY=full full=y)
 
mv  -f $dmpfile /home/zengxb/share

#删除以前过期的备份

DUMP=/home/zengxb/share
#DUMP_HIS=/u01/oracle/backup_his
find $DUMP -name "*.dmp" -mtime +2 -exec rm {} \;  ------删除超过两天的dmp文件
#find $DUMP_HIS -name "*.dmp" -mtime +10 -exec mv {} /oradata/bak/dmpbaks/ \;

4.编辑crontab文件如下:

[root@wg1 oracle]# crontab -e -u oracle
 
51 16 * * *  /home/oracle/expdp.sh  >>/home/oracle/bak.log 2>&1
 
备份出来的是 scott20141027.dmp

5.重启crond   不重启也行的

#service crond restart
今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式