A couple items that you should check and making sure IP is pingable, correct and assigned to this specific VM.
[oracle@oracle12c ~]$ cat /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle12_normal)(PORT = 1521))
)
)
[oracle@oracle12c ~]$
[oracle@oracle12c ~]$ vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 liftoff.vm liftoff localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
#192.168.254.100 Oracle12_normal # NIC <eth0>
10.127.128.49 Oracle12_normal # NIC <eth0>
~
LSNRCTL> start
Starting /u01/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 12.1.0.1.0 - Production
System parameter file is /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Oracle12_normal)(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Linux Error: 99: Cannot assign requested address
Listener failed to start. See the error message(s) above...
LSNRCTL> quit
[oracle@oracle12c ~]$ vi /u01/app/oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml
[oracle@oracle12c ~]$ ping oracle12c
ping: unknown host oracle12c
[oracle@oracle12c ~]$ uname -a
Linux oracle12c 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
Here is the issue ... the listener still grabbing the hostname parameter from /proc/sys/kernel/hostname
[oracle@oracle12c ~]$ hostname
oracle12c
[oracle@oracle12c ~]$ cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=oracle12c
PEERDNS=yes
[oracle@oracle12c ~]$ su -
Password:
[root@oracle12c ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=Oracle12_normal
PEERDNS=yes
[oracle@oracle12c ~]$ su -
Password:
[root@oracle12c ~]# echo "Oracle12_normal" > /proc/sys/kernel/hostname
[root@oracle12c ~]# exit
logout
[oracle@oracle12c ~]$ su -
Password:
[root@Oracle12_normal ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
[oracle@oracle12c ~]$ lsnrctl
LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 29-JUL-2015 15:05:09
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> start
Starting /u01/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 12.1.0.1.0 - Production
System parameter file is /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/Oracle12_normal/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Oracle12_normal)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date 29-JUL-2015 15:05:33
Uptime 0 days 0 hr. 0 min. 1 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/Oracle12_normal/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Oracle12_normal)(PORT=1521)))
The listener supports no services
The command completed successfully
LSNRCTL>
There are times changing the VM name may not fixed everything. The hostname can be 'sticky' and remained as it is. Changing it manually may be necessarily.
In summary, change 2 places. "/proc/sys/kernel/hostname" and "/etc/sysconfig/network" then bounce the network services.