Я использую Oracle 12 c Enterprise Edition. У меня есть что-то странное в конфигурации слушателя.
- Проверьте, работает ли слушатель
$ ps -ef | grep tns
root 261 2 0 Jan16 ? 00:00:00 [netns]
oraxxx 12669 1 0 Jan16 ? 00:10:33 /oracle/PR1/112_64/bin/tnslsnr LISTENER -inherit
Проверьте состояние прослушивателя LISTENER, мы видим, что он прослушивает порт 9119
Listener Parameter File /u01/app/grid/12.1.0.1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/xxx/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.x.x.x)(PORT=9119)))
Проверить содержимое файла слушателя. Я не могу найти настроенный здесь порт 9119.
$ cat /u01/app/grid/12.1.0.1/network/admin/listener.ora
LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET # line added by Agent
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = xxx_DG)
(ORACLE_HOME = /u01/app/oracle/product/12.1.0.1/db_1)
(SID_NAME = xxx)
)
)
-> Как Oracle может знать, что он будет работать на порту 9119, если в listener.ora не настроен порт?
Проверьте local_listener и ничего не отображается
SYS@xxx> show parameter local_listener;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
На моем тестовом сервере я вижу порт, настроенный в файле listener.ora, и значение в local_listener
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1901))
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP) (HOST=
192.168.56.103) (PORT=1901))
Интересно, есть ли какая-то особая конфигурация, которую я могу не знать или не слышать? Может кто-нибудь посоветовать мне по этому делу.