Oracle

Oracle 11gR2 - 動態註冊

  • February 7, 2021

數據庫版本:Oracle 11gR2

我們想使用帶有 off 選項的 DYNAMIC_REGISTRATION_LISTENER 參數。

我們的 listener.ora 文件是這樣的:

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

但是當我們使用這個參數時,我們的web服務請求無法連接到數據庫。

SQL> SELECT dbms_xdb.gethttpport FROM dual;

GETHTTPPORT
-----------
      3010

沒有這個參數:

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))

使用此參數:

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)))

我們需要使用這個參數。還需要連接 Web 服務。這怎麼可能?

我找不到任何明確的解決方案。

最好的祝福,

為什麼你“需要”使用這個參數?我懷疑另一個 xy 問題 - 你問了錯誤的問題來解決錯誤的問題。或者,您為什麼不能將必要的條目添加到偵聽器配置中?

LISTENER =
 (DESCRIPTION_LIST =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
     (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=3010))(Presentation=HTTP)(Session=RAW))
   )
 )

引用自:https://dba.stackexchange.com/questions/284864