Oracle监听器无法动态注册实例
Oracle监听器无法动态注册实例
- 检查listener.ora文件配置,没有问题
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =hostname)(PORT= 1521))
)
)
检查/etc/hosts文件没有问题
检查参数local_listener
SQL> show parameter local_listener
NAME TYPE
-——————————————————————————-
VALUE
-——————————————-
local_listener string
(DESCRIPTION=(ADDRESS=(PROTOCO
L=TCPY) (HOST =10.41.10.41)(PORT= 1521))
发现Host不是hostname对应的ip地址
- 修改local_listener
Alter system set local_listener=’(DESCRIPTION=(ADDRESS=(PROTOCO
L=TCPY) (HOST =hostname)(PORT = 1521))’ ;
单实例数据库local_listener参数默认值为空
alter system set local_listener=’(ADDRESS=(PROTOCOL=tcp)(HOST=100.0.0.1)(PORT=1521))’ scope=both;
alter system reset local_listener scope=spfile;
- 监听reload实例可以正常注册问题解决
lsnrctl reload
监听注册问题解决后连接数据库又报错
TNS-12543: TNS:destination host unreachable
验证发现本机sqlplus@服务名连接是没有问题的,其他客户端机器连接报错TNS-12543,怀疑是防火墙的问题
尝试直连接,还是报了同样的错误。
sqlplus n1/n1@172.19.198.51:1521/oracl
SQL*Plus:Release 11.2.0.2.0 Production on Tue Apr 813:54:23 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12543: TNS:destination host unreachable
- 验证是不是1521端口被限制了
# telnet xx.xx.xx.xx 1521
Trying…
^C# (如果没有响应说明有问题)
但是那台机器的telnet服务没打开
- 用strace 跟踪tnsping
strace -o a.txt tnsping orcl
getsockopt(4, SOL_SOCKET, SO_SNDBUF, 0x7fffdfeec98c, 0x7fffdfeec988) = -1 EBADF (Bad file descriptor)
getsockopt(4, SOL_SOCKET, SO_RCVBUF, 0x7fffdfeec98c, 0x7fffdfeec988) = -1 EBADF (Bad file descriptor)
lseek(3, 39936, SEEK_SET) = 39936
read(3, “\16\0\3610\0\0\\\0\3630\0\0\231\0\3640\0\0\263\0\3650\0\0\307\0\3660\0\0\345\0”…, 512) = 512
write(1, “TNS-12535: TNS:operation timed o”…, 35) = 35
说明机器网络有问题
- 把服务器的防火墙关闭,再次登录问题解决
————————————————
版权声明:本文为CSDN博主「wangwei」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weiwangsisoftstone/article/details/38082487
还没有评论,来说两句吧...