免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3410 | 回复: 8
打印 上一主题 下一主题

oracle数据库自动备份?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-26 17:12 |只看该作者 |倒序浏览
各位大虾,现有一个数据库备份的脚本,准备每月自动备份,但是脚本放入crontab中就执行失败,单独执行可以!下面为脚本
#!/bin/sh
time=`date '+20%y%m%d'`
dd=`date '+%d'`
if [ "$dd" -eq 07 -o "$dd" -eq 14 -o "$dd" -eq 21 ]
then
     cd  /usr2/projects/sdhpro/backup_21
     /u01/app/oracle/product/8.1.6/bin/exp dm_21/pipmd21@sdh21 file=dm_21_$dd.dmp
     echo "$time备份dm数据库一次" >>log
fi
#每月7、14、21号进行数据库数据循环备份

是和环境变量有关吗?
把env的环境变量写入后,还是不行.请各位大虾贴一个成功的crontab的备份脚本已做参考.....
多谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

论坛徽章:
0
2 [报告]
发表于 2005-01-26 17:21 |只看该作者

oracle数据库自动备份??

what system you have . give "uame -a " first

论坛徽章:
0
3 [报告]
发表于 2005-01-26 17:31 |只看该作者

oracle数据库自动备份??

环境变量要写进去的

论坛徽章:
0
4 [报告]
发表于 2005-01-26 20:39 |只看该作者

oracle数据库自动备份??

feiguoshang      is right

论坛徽章:
0
5 [报告]
发表于 2005-02-01 16:23 |只看该作者

oracle数据库自动备份??

大虾们,环境变量已经将该用户 的.profile文件的相关内容写入,还是不行,跪求各位大师,能否给一个类似的范例作为参考!
多谢,多谢!!!

论坛徽章:
0
6 [报告]
发表于 2005-02-01 16:41 |只看该作者

oracle数据库自动备份??

#使用方法:exp_err_cdr.sh
#自动取系统时间的月份生成文件名
#每月执行
Usage(){
        echo "Usage():\
                        \n\t example:  `basename $0` "
}
if [ $# -ne 0 ]; then
        Usage
        exit 1  
fi
month=`date +%Y%m`
partition="part`date +%m`"
filepath="/ora_backup/cdr_bak/${month}"
logpath="/ora_backup/cdr_bak/${month}"
#校验目录是否存在
[ ! -d ${filepath} ] && { echo "`basename $0` \n\t{filepath} is not exist!"; exit 1; }
[ ! -d ${logpath} ] && { echo "`basename $0` \n\t{logpath} is not exist!"; exit 1; }
       
#获取环境变量
. /oracle/.profile
#错单全备?
exp c0851/lcc0851 file=${filepath}/tc_rate_err.dmp             log=${logpath}/tc_rate_err.log      direct=y tables=tc_rate_err     buffer=4096000 filesize=2047M;

如果文件很大要考虑文件系统2G的限制如何解决

论坛徽章:
0
7 [报告]
发表于 2005-02-01 18:03 |只看该作者

oracle数据库自动备份??

。。。
.  /oracle/.profile
。。。


最重要的一句话。
当然,把/oracle改为你的oracle 用户的主目录。

论坛徽章:
0
8 [报告]
发表于 2005-02-01 20:33 |只看该作者

oracle数据库自动备份??

you could execute the backup script at command line but fail with cronjob , most of the time is the oracle env problem . cronjob don't initialize the env variables .


to do the debug, alter you crontab file ,let it run at debug mode . EX
59 23 * * * sh -x /script_dir/oracle_exp.sh

use "mailx" to check you cronjob output and debug the script ,
at which step the script failed ? is it because of the NO PATH ? etc,etc ..

论坛徽章:
0
9 [报告]
发表于 2005-02-02 12:48 |只看该作者

oracle数据库自动备份??

大约在9个月前,我将原先我们系统上的oracle备份脚本规范化了。并全面在用户系统中使用,使用中会对所有过程进行监控,我自以为做得很标准了,很完美了。在这大半年的使用中,我对各用户的此脚本运行结果进行了巡检,发现不少地区的脚本在开始几个月运行很完美,但在后期却总会发生一些这样那样的小错误。
并非是脚本写的不好,也不是真的有什么bug,只是在备份过程中可能发生的问题太多,例如你怎么才能判断磁带好坏?备份了一半以后磁带机坏了怎么办?你怎么判断远程主机备份目录上还有空间放你将要备份的数据?单独来看,以上问题似乎都能解决,但我告诉你,你不会知道在脚本运行中可能会发生什么样的事。

所以,我的结论是,如果可能,不要用全自动的数据库备份,你可以写好脚本,但运行这个脚本的人一定要知道原理,并手工运行它,发生问题后知道怎么处理,比如换一盒好的磁带,修一修坏掉的磁带机。

以上内容是我在这九个月的实际工作中总结的,希望对每一个希望数据库自动备份的人看一看可能你也会碰到的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP