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 laterInformation 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
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! |