当前位置: 技术问答>linux和unix
unix通过crontab 定时启动oracle应用程序??????????
来源: 互联网 发布时间:2015-08-04
本文导语: 一个程序(PROC写的)里有连接数据库的操作,具体语句: EXEC SQL CONNECT:user/pwd; 程序编译完后,如果我直接在终端(服务器)上运行a.exe(程序的名字), 可以正常的运行。 但是我通过UNIX里的守时管理工具...
一个程序(PROC写的)里有连接数据库的操作,具体语句: EXEC SQL CONNECT:user/pwd;
程序编译完后,如果我直接在终端(服务器)上运行a.exe(程序的名字), 可以正常的运行。
但是我通过UNIX里的守时管理工具crontab. 来定时启动这个程序的时候就出差了,说连接数据库失败。 错误ID为: -12154.
我想应该是我用crontab这个工具出了问题, 可能在做连接数据库,还要不要加点其他的东东??
谢谢
程序编译完后,如果我直接在终端(服务器)上运行a.exe(程序的名字), 可以正常的运行。
但是我通过UNIX里的守时管理工具crontab. 来定时启动这个程序的时候就出差了,说连接数据库失败。 错误ID为: -12154.
我想应该是我用crontab这个工具出了问题, 可能在做连接数据库,还要不要加点其他的东东??
谢谢
|
写一个脚本文件,把运行ORACLE的环境变量加到文件的开头,如:test.sh
ORACLE_HOME=......
export ORACLE_HOME
......
a.exe
然后再用crontab来执行这个脚本就可以了。
ORACLE_HOME=......
export ORACLE_HOME
......
a.exe
然后再用crontab来执行这个脚本就可以了。
|
crontab不会把环境变量带进来的,所以你要在程序中指明oracle的环境变量!
oracle我不太熟,程序这方面帮不上你的忙。
oracle我不太熟,程序这方面帮不上你的忙。
|
最好把要用到的oracle的环境变量都写到crontab执行的脚本里去,否则容易出问题。
|
我也用crontab执行pro*c程序,没有遇到过你这种问题。也许你可以用root权限执行你的程序试试。
|
ORA-12154: TNS : could not resolve service name