Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a websphere application which runs under the user wsadmin.

The application invokes the SQL bulk loader client ./sqlldr

The sqlldr needs some environment variables predefined in order to work such as

ORACLE_BASE=/usr/app/oracle ORACLE_HOME=/usr/app/oracle/product/

Can you tell me what is the best place to put these variables. I have few options:

1) /etc/profile or /etc/environment

2) .bash_profile of wsadmin user

The reason I am asking this question is sqlldr is failing randomly for us and currently the variables are placed in .bash_profile. since .bash_profile is used for login shells, I am not sure if it would apply for JVM process.

share|improve this question
So you're running an application under WebSphere Application Server processes, correct? Not just running something from the shell as the same user that runs WebSphere Application Server? – dbreaux Jan 15 '13 at 16:42
yes, running an application – Madhur Ahuja Jan 16 '13 at 6:13
up vote 2 down vote accepted

I would suggest to try setting this in WebSphere Application Server:

Using the administrative console, navigate to Servers > Server types > WebSphere application servers > server_name > Server Infrastructure > Java and Process Management > Process Definition > Environment Entries

There you can add your environment variable. Please note that if you are running the application clustered on multiple servers, you would need to set this for all of them.

Add: I just also found a technote explaining this:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.