Pra não ficar só no blablablá, eis um exemplo onde quero ter o MESMO listener mais recente atendendo duas instâncias, uma de mesmo release e outra de release anterior : no meu caso é Windows mas o CONCEITO é o mesmo no Linux...
==> Primeiro, configuro meu ambiente pra refletir a HOME 11g (o .bat que eu chamo justamente seta ORACLE_HOME, PATH, etc) : C:\Users\jlchi_000>o11gr2.bat C:\Users\jlchi_000>dir %ORACLE_HOME%\network\admin\ Pasta de c:\app\oracle\product\11gr2\dbhome_r2\network\admin 22/02/2019 14:35 <DIR> . 22/02/2019 14:35 <DIR> .. 22/02/2019 14:37 843 listener.ora 24/01/2019 14:44 <DIR> SAMPLE 24/01/2019 14:57 462 sqlnet.ora 27/01/2019 15:19 557 tnsnames.ora C:\Users\jlchi_000>type c:\app\oracle\product\11gr2\dbhome_r2\network\admin\listener.ora # listener.ora Network Configuration File: c:\app\oracle\product\11gr2\dbhome_r2\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\app\oracle\product\11gR2\dbhome_r2) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle\product\11gR2\dbhome_r2\bin\oraclr11.dll") ) ) LISTENER11GR2 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Dell15Rse)(PORT = 1567)) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = Dell15Rse)(PORT = 1521)) ) ) ADR_BASE_LISTENER = C:\app\oracle ADR_BASE_LISTENER11GR2 = C:\app\oracle C:\Users\jlchi_000> ==> legal, meu LISTENER se chama LISTENER11GR2, vamos ver ele : C:\Users\jlchi_000>lsnrctl status listener11gr2 Estabelecendo conexão com (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Dell15Rse)(PORT=1567))) STATUS do LISTENER ------------------------ Apelido listener11gr2 Versão TNSLSNR for 64-bit Windows: Version 11.2.0.4.0 - Production SNMP OFF Arq. Parâm. Listn. C:\app\oracle\product\11gR2\dbhome_r2\network\admin\listener.ora Arq. Log Listener C:\app\oracle\diag\tnslsnr\Dell15Rse\listener11gr2\alert\log.xml Resumo de Atendimento... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Dell15Rse)(PORT=1567))) Resumo de Serviços... O serviço "O11GR2XDB" tem 1 instância(s). Instância "o11gr2", status READY, tem 1 handler(s) para este serviço... O serviço "o11gr2" tem 1 instância(s). Instância "o11gr2", status READY, tem 1 handler(s) para este serviço... O comando foi executado com êxito C:\Users\jlchi_000> ==> Agora no ambiente 12c mostro que tenho um listener pra ele também : C:\Users\jlchi_000>o12cr2.bat C:\Users\jlchi_000>dir %ORACLE_HOME%\network\admin Pasta de C:\app\oracle12cR2\product\12.2.0\dbhome\network\admin 27/07/2017 11:33 <DIR> . 27/07/2017 11:33 <DIR> .. 20/04/2017 12:21 638 listener.ora 20/04/2017 11:18 <DIR> sample 27/07/2017 11:34 454 sqlnet.ora 26/09/2017 18:34 1.298 tnsnames.ora C:\Users\jlchi_000>type %ORACLE_HOME%\network\admin\listener.ora # listener.ora Network Configuration File: C:\app\oracle12cR2\product\12.2.0\dbhome\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER12C = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\app\oracle12cR2\product\12.2.0\dbhome) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle12cR2\product\12.2.0\dbhome\bin\oraclr12.dll") ) ) LISTENER12C = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Dell15Rse)(PORT = 1522)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522)) ) ) ==> EIS o status do listener 12c : C:\Users\jlchi_000>lsnrctl status listener 12c Estabelecendo conexão com (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Dell15Rse)(PORT=1522))) STATUS do LISTENER ------------------------ Apelido LISTENER12C Versão TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 - Production SNMP OFF Arq. Parâm. Listn. C:\app\oracle12cR2\product\12.2.0\dbhome\network\admin\listener.ora Arq. Log Listener C:\app\oracle12cR2\diag\tnslsnr\Dell15Rse\listener12c\alert\log.xml Resumo de Atendimento... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Dell15Rse)(PORT=1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1522ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=Dell15Rse)(PORT=5500))(Security=(my_wallet_directory=C:\APP\ORACLE12CR2\admin\ora12cR2\xdb_wallet))(Presentation=HTTP)(Session=RAW)) Resumo de Serviços... O serviço "703822b43f514c71baa09659a5b429e7" tem 1 instância(s). Instância "ora12cr2", status READY, tem 1 handler(s) para este serviço... O serviço "CLRExtProc" tem 1 instância(s). Instância "CLRExtProc", status UNKNOWN, tem 1 handler(s) para este serviço... O serviço "ORCL12c" tem 1 instância(s). Instância "orcl12c", status READY, tem 1 handler(s) para este serviço... O serviço "ORCL12cXDB" tem 1 instância(s). Instância "orcl12c", status READY, tem 1 handler(s) para este serviço... O serviço "ora12cR2" tem 1 instância(s). Instância "ora12cr2", status READY, tem 1 handler(s) para este serviço... O serviço "ora12cR2XDB" tem 1 instância(s). Instância "ora12cr2", status READY, tem 1 handler(s) para este serviço... O serviço "ora12cr2pdb01" tem 1 instância(s). Instância "ora12cr2", status READY, tem 1 handler(s) para este serviço... O comando foi executado com êxito C:\Users\jlchi_000> ====>> Isto COMPROVOU que vc pode ter dois LISTENERs de duas versões diferentes no mesmo servidor, OBVIAMENTE um em cada porta, COMO EU HAVIA DITO.... ==> Agora vou PARAR o listener 11g, vou reconfigurar o listener 12c pra rodar na porta 1521 (que está LIVRE na minha máquina), registrar ambas as bases nele E você vai ver que simplesmente funciona, é SIM uma opção : C:\Users\jlchi_000>o11gr2 C:\Users\jlchi_000>lsnrctl stop listener11gr2 O comando foi executado com êxito ==> como NO MEU CASO eu tava no banco 11g com LOCAL_LISTENER setado, removo, pois se o LISTENER 12c vai atender todo mundo na porta default não preciso dele : C:\Users\jlchi_000>sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production SQL> show parameter listener NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ listener_networks string local_listener string (DESCRIPTION=(ADDRESS=(PROTOCO L=tcp)(HOST=Dell15Rse)(PORT=15 67))) remote_listener string SQL> alter system reset LOCAL_LISTENER; Sistema alterado. SQL> shutdown immediate; SQL> startup; Instância ORACLE iniciada. Banco de dados aberto. SQL> show parameter listen NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ listener_networks string local_listener string remote_listener string SQL>exit ==> agora no 12c eu PARO o listener 12c, RECONFIGURO pra porta 1521 que quero : C:\Users\jlchi_000>o12cr2.bat C:\Users\jlchi_000>lsnrctl stop listener12c LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production O comando foi executado com êxito C:\Users\jlchi_000>netca Configuração do Oracle Net Services: Configurando o Listener:LISTENER12C Configuração do listener concluída. Configuração do Oracle Net Services bem-sucedida. O código de saída é 0 ==> Eu tinha LOCAL_LISTENER setado no 12c, vou REMOVER já que vou usar a porta default : C:\Users\jlchi_000>sqlplus / as sysdba container=ORCL12C:SYS@ORCL12C> show parameter listener NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ listener_networks string local_listener string LISTENER_ORCL12C remote_listener string container=ORCL12C:SYS@ORCL12C> alter system reset LOCAL_LISTENER; Sistema alterado. container=ORCL12C:SYS@ORCL12C> shutdown immediate; Banco de dados fechado. Banco de dados desmontado. Instância ORACLE desativada. container=ORCL12C:SYS@ORCL12C> startup; Instância ORACLE iniciada. Banco de dados montado. Banco de dados aberto. container=ORCL12C:SYS@ORCL12C> show parameter listen NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ listener_networks string local_listener string remote_listener string container=ORCL12C:SYS@ORCL12C> exit Desconectado de Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production ==> AINDA nesse mesmo command prompt onde tenho o set apontado pra 12c, MOSTRO que o listener 12cr2 tá setado ok : C:\app\oracle12cR2\product\12.2.0\dbhome\database>echo %ORACLE_HOME% C:\app\oracle12cR2\product\12.2.0\dbhome C:\app\oracle12cR2\product\12.2.0\dbhome\database>type %ORACLE_HOME%\network\admin\listener.ora # listener.ora Network Configuration File: C:\app\oracle12cR2\product\12.2.0\dbhome\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER12C = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\app\oracle12cR2\product\12.2.0\dbhome) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle12cR2\product\12.2.0\dbhome\bin\oraclr12.dll") ) ) LISTENER12C = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = Dell15Rse)(PORT = 1521)) ) ) ==> jóia jóia, vou startar o LISTENER : C:\app\oracle12cR2\product\12.2.0\dbhome\database>lsnrctl start listener12c LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production .... O comando foi executado com êxito ==> Espero um minutinho pras instâncias se registrarem e aí peço : C:\app\oracle12cR2\product\12.2.0\dbhome\database>lsnrctl status LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production Estabelecendo conexão com (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS do LISTENER ------------------------ Apelido listener12c Versão TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 - Production Arq. Parâm. Listn. C:\app\oracle12cR2\product\12.2.0\dbhome\network\admin\listener.ora Arq. Log Listener C:\app\oracle12cR2\diag\tnslsnr\Dell15Rse\listener12c\alert\log.xml Resumo de Atendimento... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Dell15Rse)(PORT=1521))) Resumo de Serviços... O serviço "CLRExtProc" tem 1 instância(s). Instância "CLRExtProc", status UNKNOWN, tem 1 handler(s) para este serviço... O comando foi executado com êxito C:\app\oracle12cR2\product\12.2.0\dbhome\database>lsnrctl services LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production Copyright (c) 1991, 2016, Oracle. All rights reserved. Estabelecendo conexão com (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) Resumo de Serviços... O serviço "CLRExtProc" tem 1 instância(s). Instância "CLRExtProc", status UNKNOWN, tem 1 handler(s) para este serviço... Handler(s): "DEDICATED" estabelecido:0 recusado:0 LOCAL SERVER O serviço "O11GR2XDB" tem 1 instância(s). Instância "o11gr2", status READY, tem 1 handler(s) para este serviço... Handler(s): "D000" estabelecido:0 recusado:0 atual:0 máx.:1022 estado:ready DISPATCHER <machine: DELL15RSE, pid: 7672> (ADDRESS=(PROTOCOL=tcp)(HOST=Dell15Rse)(PORT=52026)) O serviço "ORCL12c" tem 1 instância(s). Instância "orcl12c", status READY, tem 1 handler(s) para este serviço... Handler(s): "DEDICATED" estabelecido:0 recusado:0 estado:ready LOCAL SERVER O serviço "ORCL12cXDB" tem 1 instância(s). Instância "orcl12c", status READY, tem 1 handler(s) para este serviço... Handler(s): "D000" estabelecido:0 recusado:0 atual:0 máx.:1022 estado:ready DISPATCHER <machine: DELL15RSE, pid: 5768> (ADDRESS=(PROTOCOL=tcp)(HOST=Dell15Rse)(PORT=52481)) O serviço "o11gr2" tem 1 instância(s). Instância "o11gr2", status READY, tem 1 handler(s) para este serviço... Handler(s): "DEDICATED" estabelecido:0 recusado:0 estado:ready LOCAL SERVER O comando foi executado com êxito C:\app\oracle12cR2\product\12.2.0\dbhome\database> ==> TÀ VENDO meu 11gr2 E meu 12c registrados nesse LISTENER ?? É isso aí, agora é só configurar os TNSNAMES (servidor E clients) e cabou... NÂO TEM COMO ERRAR, sim sim sim ???? []s Chiappa