我的a.sh文件如下:
#!/bin/sh
export ORACLE_HOME=/oracle/products/10.2/db
export ORACLE_SID=stdm
export PATH=$PATH:$ORACLE_HOME/bin
/oracle/products/10.2/db/bin/sqlplus biee/123@stdm <<EOF
@/home/a.sql
EOF
我在.bash_profile里设置了export ORACLE_HOME=/oracle/products/10.2/db
export ORACLE_SID=stdm
export PATH=$PATH:$ORACLE_HOME/bin,
env查看环境变量也有ORACLE_HOME=/oracle/products/10.2/db
然后在crontab里定时,发现日志文件中报错:
Error 6 initializing SQL*Plus
Message file sql<lang.1>msb not found
SP2-0750:You may need to set ORACLE_HOME to your Oracle software directory
我的用户单独运行sqlplus也是可以的,我也设置了ORACLE_HOME,这个错误是什么原因呢?
#!/bin/sh
export ORACLE_HOME=/oracle/products/10.2/db
export ORACLE_SID=stdm
export PATH=$PATH:$ORACLE_HOME/bin
/oracle/products/10.2/db/bin/sqlplus biee/123@stdm <<EOF
@/home/a.sql
EOF
我在.bash_profile里设置了export ORACLE_HOME=/oracle/products/10.2/db
export ORACLE_SID=stdm
export PATH=$PATH:$ORACLE_HOME/bin,
env查看环境变量也有ORACLE_HOME=/oracle/products/10.2/db
然后在crontab里定时,发现日志文件中报错:
Error 6 initializing SQL*Plus
Message file sql<lang.1>msb not found
SP2-0750:You may need to set ORACLE_HOME to your Oracle software directory
我的用户单独运行sqlplus也是可以的,我也设置了ORACLE_HOME,这个错误是什么原因呢?
郁闷。。
1)先尝试手工设置一下ORALE_BASE和ORACLE_HOME,看看好不好用:
比如:$ORACLE_BASE=/oracle;export ORACLE_BASE
$ORACLE_HOME=$ORACLE_BASE/product/9.0.1;export ORACLE_HOME;
$sqlplus
如果好用,说明是.profile的问题,重新修改.profile。如果不好用,在考虑下一步;
2)然后再检查一下$ORACLE_HOME/sqlplus/mesg,看看你的NLS_LANG里面语言对应的.msb文件是否存在。
一般是第一种问题。