在linux下定期备份oracle数据库

来源:互联网 发布:手机绘画软件推荐 编辑:程序博客网 时间:2024/06/08 15:12
http://hi.baidu.com/tianfu_xue/blog/item/c26c501ce6bd319286d6b6eb.html
2011-06-29 15:42

在/u01/app/oracle/product/11.2.0/db_1下建立back.sh备份数据库脚本文件

#!/bin/sh
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export ORACLE_HOME
ORACLE_SID=DB11G;
export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:
export LD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH;
export PATH

export NLS_LANG=american_america.ZHS16GBK##这一行用于解决解决 oracle EXP-00091: Exporting questionable statistics. 问题

D=$(date -d today +%Y%m%d%k%M%S)
export D

exp   sdcj/sdcj@DB11Gfile=/tmp/oracle_bak/${D}.dmp  owner=sdcj buffer=4096000 log=/tmp/oracle_bak/${D}.log

find . -type f -mtime +7 -exec rm -rf {} \;##这一行用于删除大于七天的文件,也就是说只保留最近7天的备份

exit 0

切换到oracle用户:su oracle

使用crontab -e编辑系统任务计划脚本文件crontab,加入以下一行命令

0 18 * * * /u01/app/oracle/product/11.2.0/db_1/backup.sh

可先行测试一下脚本是否执行,直接使用以下命令执行,在执行命令前确保已经有相应的备份文件目录/tmp/oracle_bak/

/u01/app/oracle/product/11.2.0/db_1/backup.sh


原创粉丝点击