Versão do banco de dados: Oracle 11gR2
Queremos usar o parâmetro DYNAMIC_REGISTRATION_LISTENER com a opção off.
Nosso arquivo listener.ora assim:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = oracle)
)
)
ADR_BASE_LISTENER = /u01/app/oracle
DYNAMIC_REGISTRATION_LISTENER = OFF
Mas quando usamos esse parâmetro, nossa solicitação de serviço web não pode se conectar ao banco de dados.
SQL> SELECT dbms_xdb.gethttpport FROM dual;
GETHTTPPORT
-----------
3010
Sem este parâmetro:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 07-FEB-2021 03:21:59
Uptime 0 days 0 hr. 2 min. 51 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=3010))(Presentation=HTTP)(Session=RAW))
Com este parâmetro:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 07-FEB-2021 03:21:59
Uptime 0 days 0 hr. 2 min. 51 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Precisamos usar este parâmetro. Os serviços da Web também precisam estar conectados. Como isso é possível?
Não consegui encontrar nenhuma solução clara.
Atenciosamente,
por que você "precisa" usar esse parâmetro? Suspeito ainda de outra pergunta xy - que você está fazendo a pergunta errada para resolver o problema errado. Como alternativa, por que você não pode simplesmente adicionar a entrada necessária à configuração do ouvinte?