免费注册 查看新帖 |

Chinaunix

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

为什么定时备份Oracle的脚本执行后没有输出dmp文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-10 23:28 |只看该作者 |倒序浏览
我写了一个shell,用来导出Oracle数据库数据,如下:\r\nback.sh (权限允许所有用户执行)\r\n# /bin/sh \r\nyear=`date +%Y`\r\nmonth=`date +%m`\r\nday=`date +%d`\r\nnow=$year-$month-$day\r\n\r\nexp user/passwd@mydb file=/export/home/my/my_$now.dmp\r\n\r\n我用crontab -e在oracle建立了定时队列如下:\r\n30 * * * * /export/home/public/back.sh\r\n但是back.sh执行后并/export/home/my/下没有dmp文件\r\n\r\n我用一个测试shell,如下:\r\ntest.sh\r\ncp /export/home/public/afile /export/home/my/afile\r\n\r\n用crontab -e在oracle建立了定时队列如下:\r\n45 * * * * /export/home/public/test.sh\r\n该定时程序执行后,文件被copy到了/export/home/my/下\r\n\r\n我观察了cron的日志/var/cron/log,如下:\r\n>;  CMD: /export/home/public/back.sh\r\n>;  oracle 10443 c 三 12月 10 15:30:00 2003\r\n<  oracle 10443 c 三 12月 10 15:30:00 2003 rc=1\r\n/etc/mail/sendmail.cf: line 77: fileclass: cannot open /etc/mail/local-host-names: World writable directory\r\n/etc/mail/sendmail.cf: line 472: fileclass: cannot open /etc/mail/trusted-users: World writable directory\r\n>;  CMD: /export/home/public/test.sh\r\n>;  oracle 10393 c 三 12月 10 15:45:00 2003\r\n<  oracle 10393 c 三 12月 10 15:45:00 2003\r\n\r\n我感觉back.sh也执行了,什么没有输出。\r\n我如果直接执行back.sh, 可以输出dmp文件。\r\n我很奇怪为什么放在crontab中exp就不行了,而随便用cp等命令测试就可以,是不是我有哪些配置有问题?\r\n哪位高手给指点一下?\r\n\r\n运行环境SUN ULTRA 60 Solaris 8 + oracle 9i release1 标准版

论坛徽章:
0
2 [报告]
发表于 2003-12-11 20:57 |只看该作者

为什么定时备份Oracle的脚本执行后没有输出dmp文件?

哪位大虾帮忙分析一下可能是什么原因,小弟试了多次还是这样

论坛徽章:
1
2016科比退役纪念章
日期:2016-05-26 15:48:47
3 [报告]
发表于 2003-12-11 21:30 |只看该作者

为什么定时备份Oracle的脚本执行后没有输出dmp文件?

不太懂oracle,只是想提示一下,会不会是\"exp user/passwd@mydb file=/export/home/my/my_$now.dmp \"\r\n中exp命令没有指明全路径?\r\n我猜的,错了莫怪。

论坛徽章:
0
4 [报告]
发表于 2003-12-12 14:22 |只看该作者

为什么定时备份Oracle的脚本执行后没有输出dmp文件?

把环镜变量加到脚本中去就OK了!!!

论坛徽章:
0
5 [报告]
发表于 2003-12-12 14:45 |只看该作者

为什么定时备份Oracle的脚本执行后没有输出dmp文件?

用crontab执行不会带.profile里面的环境变量的,所以要把oracle需要的环境变量一起写到back.sh里面去。保证成功。

论坛徽章:
0
6 [报告]
发表于 2003-12-13 11:59 |只看该作者

为什么定时备份Oracle的脚本执行后没有输出dmp文件?

多谢各位,我试一下。\r\n我还有个疑问,我怎样把oracle需要的环境变量(或者ORACLE_SID)\r\n加到shell中呢?我是个新手,还望继续指点一下\r\n\r\nto:nanaskylead\r\n我把exp命令全路径加了也不行

论坛徽章:
0
7 [报告]
发表于 2003-12-13 12:14 |只看该作者

为什么定时备份Oracle的脚本执行后没有输出dmp文件?

比如你的CSH\r\nvi .cshrc\r\n
  1. setenv PATH /export/home/oracle/bin:/usr/bin:/usr/sbin:/etc:/usr\r\nsetenv DISPLAY 192.168.0.131:1.0\r\nsetenv ORACLE_BASE /export/home/oracle\r\nsetenv ORACLE_HOME /export/home/oracle\r\nsetenv ORACLE_SID ora8i\r\nsetenv LD_LIBRARY_PATH $ORACLE_HOME/lib\r\nsetenv ORACLE_OWNER oracle\r\nsetenv ORACLE_TERM  sun\r\nsetenv NLS_LANG \"AMERICAN\" _AMERICA.We81S08859P1
复制代码

论坛徽章:
0
8 [报告]
发表于 2003-12-13 16:18 |只看该作者

为什么定时备份Oracle的脚本执行后没有输出dmp文件?

谢谢。我感觉是把Oracle Profile的设置在我的备份shell中再写一下,我的理解对吗

论坛徽章:
0
9 [报告]
发表于 2003-12-15 20:23 |只看该作者

为什么定时备份Oracle的脚本执行后没有输出dmp文件?

多谢各位,问题解决。\r\n把Oracle Profile的设置在备份shell中再写一下就可以了\r\n比如:\r\nback.sh\r\n\r\nOracle_HOME=/export/home/oracle/OraHome1\r\nexport Oracle_HOME \r\n\r\nPATH=$PATH:/usr/local/bin:/usr/bin:/:/etc/binOracle_HOME/bin \r\nexport PATH \r\n\r\nOracle_SID=Oracle\r\nexport Oracle_SID \r\n\r\nNLS_LANG=\"SIMPLIFIED CHINESE ZHS16GBK\"\r\nexport NLS_LANG \r\n\r\n\r\nyear=`date +%Y` \r\nmonth=`date +%m` \r\nday=`date +%d` \r\nnow=$year-$month-$day \r\n\r\nexp user/passwd@mydb file=/export/home/my/my_$now.dmp
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP