Why is TNSLSNR loading wrong listener? I'm using ORACLE 12c. I have 1 CDB and 1 PDB (for what I know).
To practice, I have created 2 listeners. I have made the appropriate settings in my tnsnames.ora file.

Observations:


when I just run lsnrctl start i.e. without specifying one on my listeners name, **TNSLSNR actually loads a listener located in /ora01/app/oracle/product/12.1.0/db_1/bin/tnslsnr (this is the path indicated by ps)
Before running lsnrctl start, there is no listener.ora in $ORACLE_HOME/network/admin. I have renamed it to xxxxxlistener.ora for testing what "zombie" listener was loaded by simple lsnrctl start. The worst part is that the response message says it loaded a listener from $ORACLE_HOME/network/admin/listener.ora. This is AWFUL since I renamed that file to xxxxxlistener.ora


There is a ghost file on my computer. Please help me as I can't even practice my custom listeners. 

I can't practice my custom listener as if I don't put them on port 1521, I can NEVER user them to connect on the DB. That "ghost" listener seems to be messing things up
lsnrctl START [listener_name]
  
  In the preceding command, listener_name is the name of the listener defined in the listener.ora file. It is not necessary to identify the listener if you are using the default listener name LISTENER.


If you just hit lsnrctl start without the listener name then Oracle tries to start default listener which listens on two address:

(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
(ADDRESS=(PROTOCOL=tcp)(PORT=1521))


If you wish to start a specific listener then, first of all define the listener in listener.ora file and specify listener name to start it as lsnrctl start listener_name as shown below:

[oracle@ora12c admin]$ lsnrctl start listener3

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 07-JAN-2017 19:53:16

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/12.1.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.1.0.2.0 - Production
System parameter file is /u01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/ora12c/listener3/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.30.133)(PORT=1523)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.30.133)(PORT=1523)))
STATUS of the LISTENER
------------------------
Alias                     listener3
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                07-JAN-2017 19:53:17
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/ora12c/listener3/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.30.133)(PORT=1523)))
The listener supports no services
The command completed successfully
[oracle@ora12c admin]$ cat listener.ora 
# listener.ora Network Configuration File: /u01/app/grid/product/12.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER2 = ON

VALID_NODE_CHECKING_REGISTRATION_LISTENER = SUBNET

VALID_NODE_CHECKING_REGISTRATION_LISTENER2 = SUBNET

LISTENER1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.30.133)(PORT = 1522))
    )
  )

LISTENER3 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.30.133)(PORT = 1523))
    )
  )

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER = ON


Set the local_listener initialization parameter. Its up to you use the number of listeners. In my case I have used both.

SQL&gt;alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.30.133)(PORT=1522))','(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.30.133)(PORT=1523))';


Update


  ORA-00119: invalid specification for system parameter LOCAL_LISTENER
  
  ORA-00132: syntax error or unresolved network name 'LISTENER1'


Oracle says-


  00132, 00000, "syntax error or unresolved network name '%s'"
  
  Cause:  Listener address has syntax error or cannot be resolved.
  
  Action: If a network name is specified, check that it corresponds
            to an entry in TNSNAMES.ORA or other address repository
            as configured for your system. Make sure that the entry
            is syntactically correct.


When we create a database and provide the listener name, Oracle creates a TNS alias in tnsnames.ora file and that alias is used as local_listener value. 

$ cat $ORACLE_HOME/network/admin/tnsnames.ora
#LISTENER1 =
#  (ADDRESS = (PROTOCOL = TCP)(HOST = ora12c.dba.com)(PORT = 1522))


In your case the alias name should be LISTENER_ORA12C instead of LISTENER1.
I had commented that alias to simulate the scenario.

So go to the tnsnames.ora make sure that alias is there. Then try again to start your Oracle instance. 

[oracle@ora12c admin]$ vi tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER1 =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ora12c.dba.com)(PORT = 1522))



[oracle@ora12c admin]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sun Jan 8 09:10:35 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to an idle instance.

SQL&gt; startup
ORACLE instance started.

Total System Global Area  838860800 bytes
Fixed Size          2929936 bytes
Variable Size         624954096 bytes
Database Buffers      100663296 bytes
Redo Buffers            5455872 bytes
In-Memory Area        104857600 bytes
Database mounted.
Database opened.
SQL&gt; show parameter local_listener

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
local_listener               string  LISTENER1


Reference:Configuring and Administering Oracle Net Listener