My Oracle Support Banner

10.1.3.1 Installer Unable to Use Non-default Non-Primary Network Card (NIC) on a Machine with Multiple Network Cards (NICs) (Doc ID 1388148.1)

Last updated on FEBRUARY 18, 2025

Applies to:

Oracle Containers for J2EE - Version 10.1.3.1.0 and later
Information in this document applies to any platform.

Symptoms

According to the installation documentation for 10.1.3 (https://docs.oracle.com/cd/B31019_01/install.1013/install/toc.htm), it is possible to do an install on a machine with multiple network cards.
However, this mechanism does not work.
If 10.1.3.1 is installed on a machine with two network interface cards, some components of the finished install
are bound to the correct card one, and some do not, leading to an unusable install. 
   
In the documentation referred to above, In section: 
   2.11.2  Installing on Multihomed (Multi-IP) Computers
   https://docs.oracle.com/cd/B31019_01/install.1013/install/reqs.htm#BABHFIBJ
It clearly states: 
   
  2.11.2 Installing on Multihome (Multi-IP) Computers 
  You can install Oracle Application Server on a multihomed computer. A 
  multihome computer is associated with multiple IP addresses. This is 
  typically achieved by having multiple network cards on the computer. Each IP 
  address is associated with a hostname; additionally, you can set up aliases 
  for the hostname. By default, Oracle Universal Installer uses the 
  ORACLE_HOSTNAME environment variable setting to find the hostname. If 
  ORACLE_HOSTNAME is not set and you are installing on a computer 
  that has multiple network cards, Oracle Universal Installer determines the 
  hostname by using the first name in the /etc/hosts file. 
  Clients must be able to access the computer using this hostname (or using 
  aliases for this hostname). To check, ping the hostname from the client 
  computers using the short name (hostname) 
   
This mechanism does not work  (see the other related bug below.) 
Using various other means to try to force the installer to use the right card also do not work, including:
1) Setting these environment variables prior to the install:
export ORACLE_HOSTNAME= <HOSTNAME1> 
export VIRTUAL_HOST_NAME= <HOSTNAME1> 
export OUI_HOSTNAME= <HOSTNAME1> 
2) Changing /etc/hosts so that the primary card is the first line of /etc/hosts
3) Running the installer with an extra 'guarantee' attached : 
 
  ./runInstaller OUI_HOSTNAME=<HOSTNAME1> 
Fairly quickly it is determined that the mechanism has failed by going to the application server control console, machine:port/em and
this shows on the first page the hostname as the CORRECT one selected by one of the methods above.
However if you then click on the home instance,  the 'host' is listed as the WRONG hostname, i.e. the primary host associated with the 
primary network card that you do not want.
This becomes a problem when somebody tries to connect to application server via, for example, Jdeveloper and tries to deploy an application on the app server target:
JDeveloper connects to the opmn port of AS, which is the proper address (on the secondary network card) of that oc4j instance:
Unfortunately, opmn then returns the port for the container in question, with the wrong address, so deployment then fails. 
   
If the machine is also part of a cluster, which entails both machines knowing each other via a unique IP in /etc/hosts and can *access* each other via distinct physical 
hostname and opmn port, then this limitation means that you cannot administer them as a cluster. 
Therefore, the installer does in fact use the environment variables listed above, but not fully.
To clarify the role if these environment variables, briefly:
1. If you pass both ORACLE_HOSTNAME and OUI_HOSTNAME from commandline/responsefile 
    The value of ORACLE_HOSTNAME and OUI_HOSTNAME are set to the same as ORACLE_HOSTNAME 
2. If you pass ORACLE_HOSTNAME from commandline/responsefile and no OUI_HOSTNAME 
    The value of ORACLE_HOSTNAME and OUI_HOSTNAME are set to the same as ORACLE_HOSTNAME
 
3. If you don't pass ORACLE_HOSTNAME and pass  OUI_HOSTNAME from commandline/responsefile 
    The value of ORACLE_HOSTNAME and OUI_HOSTNAME are set to the same as OUI_HOSTNAME 
4. If you don't pass ORACLE_HOSTNAME and don't pass OUI_HOSTNAME 
   The value of ORACLE_HOSTNAME and OUI_HOSTNAME are set to the default host name (the host name of the machine.) 

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.