楼主: 大夫

oracle自动备份,直接执行能exp,crontab调度不能exp,为何?请教

[复制链接]
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
21#
 楼主| 发表于 2003-1-27 13:22 | 只看该作者
我早说过了嘛,我使用%./和%sh 都是可以执行的,就是在调度的时候有问题。
可是在调度中呢,我把环境变量打印一份出来,也对啊,然后我就不知道问题所在了:
THE EXP BACKUP START: Mon Jan 27 10:48:00 CST 2003
exp fail
exp backup format:
exp system/manager@adp file=/usr4/testbackup/u01/exp01/0301271048_exp_backu
p.dmp log=/usr4/testbackup/u01/exp01/0301271048_exp_backup.log owner=u1227
THE EXP BACKUP END: Mon Jan 27 10:48:00 CST 2003

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
22#
发表于 2003-1-27 13:30 | 只看该作者
log=$EXP_BACKUP_DIR/${datename}_exp_backup.log
要看这个里面的内容

再重复一遍

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
23#
 楼主| 发表于 2003-1-27 13:38 | 只看该作者
老大啊,他根本就不执行exp命令。我怎么能够提供log=$EXP_BACKUP_DIR/${datename}_exp_backup.log 啊。
他不给我执行exp啊。。。。
我实验了:
./$ORACLE_HOME/bin/exp .....
/$ORACLE_HOME/bin/exp.....
和直接把ORACLE_HOME原路径替换ORACLE_HOME,一样的效果。。。没什么用处,真的奇怪

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
24#
发表于 2003-1-27 13:46 | 只看该作者
hooooooooooooo,昏倒
本来还以为是PATH的问题,可是看到了你写的
./usr2/app/oracle/product/9.0.1.1/bin/exp $ORACLE_UN/$ORACLE_PW@$ORACLE_SID file=$EXP_BACKUP_DIR/${datename}_exp_backup.dmp \
log=$EXP_BACKUP_DIR/${datename}_exp_backup.log owner=$EXP_OWNER || echo "exp fail" >>$LOG_DIR/catalog.log

俺也犯困,好好的,是 操作系统没找到exp命令?是操作系统无法执行exp命令?还是什么?
还有,你这么写是什么意思?
./$ORACLE_HOME/bin/exp .....
/$ORACLE_HOME/bin/exp.....

在$ORACLE_HOME前面 加 “.”和“/”干吗?莫名其妙,去掉他们。连最基本的shell编程都给你 搞的一塌糊涂

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
25#
 楼主| 发表于 2003-1-27 14:01 | 只看该作者
老大,在指定防止没有指定路径的时候,比如在root的某些时候,就需要./执行啊。
或者chmod 755 后打文件名啊也可以啊。
我就是怕操作系统找不到路径,有单独实验了几种给他指定路径啊,exp当然就是在$ORACLE_HOME/bin下面啊.


我猜问题出在操作系统拿exp没办法,找不到exp ,或者在调度里面的某个小地方出了问题.
可是其他命令执行的好好的啊

使用道具 举报

回复
论坛徽章:
5
2010广州亚运会纪念徽章:板球
日期:2011-04-26 15:05:592010广州亚运会纪念徽章:手球
日期:2011-05-03 09:34:21紫蛋头
日期:2011-09-01 17:48:49迷宫蛋
日期:2011-11-02 09:25:33摩羯座
日期:2015-08-17 21:23:17
26#
发表于 2003-1-27 14:03 | 只看该作者
我的shell相当复杂,但做exp这部和你也没本质不同。我们的系统专门有个定义环境变量的配置文件,每个crontab程序的开头都运行一遍,这样就不会出现环境变量漏定义或定义错的问题。建议你也可以使用这个方法。
你的exp不执行只有两个可能,要么是找不到路径,这是环境变量的问题;要么执行权限不对,你可以检查。

使用道具 举报

回复
论坛徽章:
5
2010广州亚运会纪念徽章:板球
日期:2011-04-26 15:05:592010广州亚运会纪念徽章:手球
日期:2011-05-03 09:34:21紫蛋头
日期:2011-09-01 17:48:49迷宫蛋
日期:2011-11-02 09:25:33摩羯座
日期:2015-08-17 21:23:17
27#
发表于 2003-1-27 14:08 | 只看该作者
需要定义的ORACLE环境变量有:
$ORACLE_HOME,$ORACLE_SID,$SHLIB_PATH,$ORA_NLS33,$PATH里要加上$ORACLE_HOME/bin

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
28#
 楼主| 发表于 2003-1-27 15:47 | 只看该作者
唉,看来只有我春节苦看10天书,看能不能找到问题的答案了:(

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
29#
发表于 2003-1-27 19:38 | 只看该作者
[ora@nbserver ora]$ cat test.sh
TESTPATH=/bin
./$TESTPATH/ls

[ora@nbserver ora]$ sh test.sh
test.sh: .//bin/ls: No such file or directory

[ora@nbserver ora]$ cat test.sh
TESTPATH=/bin
$TESTPATH/ls

[ora@nbserver ora]$ sh test.sh
aaa.sql                     delete_on_2003-01-17.log  Functions_center.txt       initdata_center.txt  tables_center.txt  test.sql
center_2.9.3.1~3.1.1.1.txt  Desktop                   glibc-2.1.3-stubs.tar.gz   inittest.ora         temp.txt           ttt.sql
center-2.9.3.1.sql          env_ctx.mk                hoho.sql                   on.lst               test
dddd.tmp                    fdr.sql                   i386-glibc21-linux-env.sh  rman                 test.sh
[ora@nbserver ora]$

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2008-3-24 20:35 | 只看该作者
这个我测试过。主要是环境变量问题引起的。
我写了一个角本,是执行数据库备份。刚开始也脚本也执行不了。不是crontab执行不了。
是脚本中exp这个命令执行不了。后来我想应该是环境变量。我就把oracle变量都放到其中。
该脚本就能正常执行exp命令,能完成备份数据库操作。
脚本如下:

export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/product/9.2
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=keandb
export ORACLE_TERM=vt100
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export LANG=en_US
export curr=`date '+%a'`
$ORACLE_HOME/bin/exp ddoa/ddoa rows=y indexes=y grants=y buffer=65536 feedback=10000  file=/oracle/'$curr'.dmp

这里面肯定有些变量不需要进行设置。
我后来也没有进行测试哪些变量不是必须的。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表