记录一次一次监听无法连接的错误

来源:这里教程网 时间:2026-03-03 19:00:16 作者:

$ lsnrctl status

LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.1.0 – Production on 21-JAN-2011 10:59:25

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=aixsvr)(PORT=1521)))     TNS-12618: TNS:versions are incompatible

上述报错是因为端口号1521已经被另一个监听使用。于是修改该监听的listener.ora文件,将端口改为1555.     vi listener.ora     LISTENER =       (DESCRIPTION_LIST =         (DESCRIPTION =           (ADDRESS_LIST =             (ADDRESS = (PROTOCOL = TCP)(HOST = aixsvr)(PORT = 1555))             (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))           )         )       )

SID_LIST_LISTENER =       (SID_LIST =         (SID_DESC =           (SID_NAME = orcl)           (ORACLE_HOME = /ora9i/app/oracle)       ))     $ lsnrctl reload

LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.1.0 – Production on 21-JAN-2011 10:55:39

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=aixsvr)(PORT=1555)))     TNS-12541: TNS:no listener      TNS-12560: TNS:protocol adapter error       TNS-00511: No listener        IBM/AIX RISC System/6000 Error: 79: Connection refused     Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))     TNS-12541: TNS:no listener      TNS-12560: TNS:protocol adapter error       TNS-00511: No listener        IBM/AIX RISC System/6000 Error: 79: Connection refused

一开始的思路如下:     IBM/AIX RISC System/6000 Error: 79: Connection refused错误是不是表示1555端口未开放?用telnet测试:     telnet aixsvr 1555     $ telnet aixsvr 1555     Trying…     telnet: connect: A remote host refused an attempted connect operation.     $ telnet aixsvr 1521     Trying…     Connected to aixsvr.     Escape character is '^]'.     看到以上结果就想到是1555端口的问题,实际上这个思路是错误的,因为单纯的说端口开不开放是没有意义的,端口必须与程序或服务结合起来才有意义。即要先启动1555上的监听才能使用telnet aixsvr 1555的方式测试该端口是否可以连接。没有服务或程序支持的端口是无法连接的     解决办法:     修改了listener.ora的端口,使用reload,可能因为内存中有相关信息,导致了reload失败,修改一下监听的名字,再修改回来,然后重启监听,使用lsnrctl stop和lsnrctrl start就可以了。

相关推荐