[FATAL] PRVF-0002 : Could not retrieve local nodename

During a silent Oracle 12c Release 1 database installation on a newly set up Oracle Enterprise Linux box, I encountered the following error when performing the installation:

[oracle@pandora database]$ ./runInstaller -silent -responseFile /home/oracle/database/response/kdb.rsp 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 45136 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 4031 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-06-27_12-11-01AM. Please wait ...
[oracle@pandora database]$ [FATAL] PRVF-0002 : Could not retrieve local nodename
A log of this session is currently saved as: [..]

But when I checked the hostname, everything seems to be just fine, I even get the FQDN:

[oracle@pandora database]$ hostname
pandora.krenger.local

So what is the problem here? The Oracle Universal Installer (OUI) performs some thorough checks, including a reverse lookup of the hostname. In my case, I did not have a proper network setup (I was running this installation in a VM) and therefore no clean DNS setup.

It turns out the problem was that the hostname is not in the /etc/hosts file:

[oracle@pandora database]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

To resolve this issue, either set up a DNS with proper forward and reverse lookup or just add the hostname (hostname and FQDN) to your /etc/hosts:

[oracle@pandora database]$ cat /etc/hosts
127.0.0.1   pandora pandora.krenger.local localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         pandora pandora.krenger.local localhost localhost.localdomain localhost6 localhost6.localdomain6

After making this change, I was able to perform the installation without any other problems. Alternatively, use the following command to make the above changes:

cp /etc/hosts /etc/hosts.original
awk '$1~"^127.0.0.1|::1"{$2="'`hostname -s`'\ '`hostname`' "$2}1' OFS="\t" /etc/hosts > /etc/hosts

Hello world

My name is Simon Krenger, I am a Technical Account Manager (TAM) at Red Hat. I advise our customers in using Kubernetes, Containers, Linux and Open Source.

Elsewhere

  1. GitHub
  2. LinkedIn
  3. GitLab