我有一个在用户下运行的 websphere 应用程序wsadmin
。
应用程序调用 SQL 批量加载器客户端./sqlldr
sqlldr 需要预定义一些环境变量才能工作,例如
ORACLE_BASE=/usr/app/oracle
ORACLE_HOME=/usr/app/oracle/product/11.2.0.1/client_64
ORACLE_SID=VDO1018
您能告诉我将这些变量放在哪里最好吗?我有几个选择:
1)/etc/profile 或 /etc/environment
2)wsadmin 用户的 .bash_profile
我问这个问题的原因是 sqlldr 对我们来说随机失败,当前变量放在 .bash_profile 中。由于 .bash_profile 用于登录 shell,我不确定它是否适用于 JVM 进程。
答案1
我建议尝试在 WebSphere Application Server 中进行此项设置:
使用管理控制台,导航至服务器 > 服务器类型 > WebSphere 应用程序服务器 >服务器名称> 服务器基础架构 > Java 和进程管理 > 进程定义 > 环境条目
您可以在此处添加环境变量。请注意,如果您在多台服务器上集群运行应用程序,则需要为所有服务器设置此变量。
添加:我刚刚还发现了一份技术说明来解释这一点:http://ibm.com/support/docview.wss?uid=swg21254153