Oracle监听器无法动态注册实例

野性酷女 2024-04-17 19:44 131阅读 0赞

Oracle监听器无法动态注册实例

  1. 检查listener.ora文件配置,没有问题

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST =hostname)(PORT= 1521))

)

)

  1. 检查/etc/hosts文件没有问题

  2. 检查参数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地址

  1. 修改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;

  1. 监听reload实例可以正常注册问题解决

lsnrctl reload

监听注册问题解决后连接数据库又报错

TNS-12543: TNS:destination host unreachable

  1. 验证发现本机sqlplus@服务名连接是没有问题的,其他客户端机器连接报错TNS-12543,怀疑是防火墙的问题

  2. 尝试直连接,还是报了同样的错误。

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

  1. 验证是不是1521端口被限制了

# telnet xx.xx.xx.xx 1521
Trying…
^C# (如果没有响应说明有问题)
但是那台机器的telnet服务没打开

  1. 用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

说明机器网络有问题

  1. 把服务器的防火墙关闭,再次登录问题解决

————————————————
版权声明:本文为CSDN博主「wangwei」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weiwangsisoftstone/article/details/38082487

发表评论

表情:
评论列表 (有 0 条评论,131人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ORACLE 监听动态注册与静态注册

    注册就是将数据库作为一个服务注册到监听程序中。客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请链接到数据库。这个服务名可以与数据库名一样,也有可能

    相关 SourceTree无法注册

    SourceTree 安装之后需要使用账号登陆以授权,以前是可以不登陆的,但是现在是强制登陆。 虽然是免费授权,但是碰上不可抗力因素,登陆不是很方便,这里记录一下跳过这个初始