客户端访问scan IP出现ora12545错误
来源:互联网 发布:mac怎么玩dota2国服 编辑:程序博客网 时间:2024/06/06 01:26
现场环境是oracle linux 5.7下一个双节点版本为11.2.0.4的rac集群,运行着3个数据库,有3个scan ip。
在使用过程中发现使用scan ip连接其中一个数据库服务名时经常出现oracle TNS-12545:因目标主机或对象不存在的错误,有时又能访问。使用该scan ip访问其他两个数据库服务名完全正常,未出现12545错误。随即通过vip地址尝试访问有问题的数据库,测试正常,同样未出现12545错误,判断问题与scan监听有关。
查看scan监听状态
[grid@db2 ~]$ lsnrctl status listener_scan2LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 27-NOV-2016 13:04:40
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)))
STATUS of the LISTENER
------------------------
Alias listener_scan2
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 27-NOV-2016 12:34:08
Uptime 0 days 0 hr. 30 min. 31 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/db2/listener_scan2/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN2)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.138.129.3)(PORT=1521)))
Services Summary...
Service "CAIWUXDB" has 1 instance(s).
Instance "CAIWU1", status READY, has 1 handler(s) for this service...
Service "RLZY" has 2 instance(s).
Instance "RLZY1", status READY, has 1 handler(s) for this service...
Instance "RLZY2", status READY, has 1 handler(s) for this service...
Service "RLZYXDB" has 2 instance(s).
Instance "RLZY1", status READY, has 1 handler(s) for this service...
Instance "RLZY2", status READY, has 1 handler(s) for this service...
Service "caiwu" has 1 instance(s).
Instance "CAIWU1", status READY, has 1 handler(s) for this service...
Service "chdyl" has 1 instance(s).
Instance "chdyl1", status READY, has 1 handler(s) for this service...
Service "chdylXDB" has 1 instance(s).
Instance "chdyl1", status READY, has 1 handler(s) for this service...
The command completed successfully
从监听的状态来看,监听正常,为进一步找到问题所在,我们测试连接listener_scan2监听对应的scan ip(可通过srvctl status scan和srvctl status scan_listener获知),然后查看监听日志,监听日志在/u01/app/grid/diag/tnslsnr/db2/listener_scan2/alert/中,但建议查看/u01/app/grid/diag/tnslsnr/db2/listener_scan2/trace中的文件,发现连接的时候
监听日志出现TNS-01184及TNS-01185错误:
27-NOV-2016 12:42:12 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=root))(SERVICE_NAME=RLZY)) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.138.130.62)(PORT=35885)) * establish * RLZY * 0
27-NOV-2016 12:42:16 * service_update * chdyl1 * 0
Sun Nov 27 12:42:17 2016
27-NOV-2016 12:42:17 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=root))(SERVICE_NAME=RLZY)) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.138.130.62)(PORT=35888)) * establish * RLZY * 0
27-NOV-2016 12:42:19 * service_update * RLZY2 * 0
27-NOV-2016 12:42:19 * service_update * RLZY1 * 0
27-NOV-2016 12:42:22 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=root))(SERVICE_NAME=RLZY)) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.138.130.62)(PORT=35891)) * establish * RLZY * 0
27-NOV-2016 12:42:23 * service_register * RLZY * 1184
TNS-01184: Listener rejected registration or update of service handler "DEDICATED"
TNS-01185: Registration attempted from a remote node
27-NOV-2016 12:42:23 * service_died * RLZY * 12537
上google一查,该错误一般是在11.2.0.2及下版本出现,原因是是local_listener中的参数设置的主机名,需要改为该节点的VIP地址,但我这里不应该属于这种情况,但还是查看下,结果还真发现问题,虽然数据库的local_listener参数使用的是vip地址,但节点2的local_listener参数却是空:
节点2:
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
节点1:
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=
10.138.129.103)(PORT=1521))
设置节点的vip为监听地址:
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=10.138.129.104)(PORT=1521))' scope=both sid='RLZY2';
System altered.
SQL> alter system register;
System altered.
设置后查看:
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string(ADDRESS=(PROTOCOL=TCP)(HOST=1
0.138.129.104)(PORT=1521))
通过设置后,经过测试再无TNS-12545错误,问题得到解决,但为什么节点2的local_listener为空就莫名其妙了。
1 0
- 客户端访问scan IP出现ora12545错误
- 限制客户端ip访问
- 远程连接mysql出现错误不允许当前IP访问
- Oracle12c 通过IP访问数据出现ORA-12505错误
- 客户端连接服务器,出现“Sql不存在或拒绝访问”。客户端可以Ping通服务器IP,网上邻居不能访问
- IP地址出现错误
- java获取客户端访问ip
- Windows2000 在保存IP安全数据时出现拒绝访问错误80070005的解决方法
- 客户端拨号出现721错误
- 访问WebService 出现 的错误
- JSP从服务器获取客户端访问IP
- java 后台获取访问客户端ip地址
- 获取客户端访问真正的IP地址
- 客户端访问服务器获取用户ip
- 如何获取客户端访问的IP
- java 后台获取访问客户端ip地址
- 局域网 ip scan
- scan ip的理解
- 有关搜索引擎的思考与实用技巧的总结(Google)
- 使用pull解析用xml方式存储的数据
- linux下pm子系统
- 图解 Session(会话)
- 一张纸折叠多少次,高度不小于珠穆朗玛峰的高度
- 客户端访问scan IP出现ora12545错误
- 第46课:Spark中的新解析引擎Catalyst源码初探
- Notification的用法
- android bluetooth stack-init
- 封装
- 微信接入探秘(一)——从零认识微信接口
- windows:创建系统服务
- 网络利器NMAP系列(三)| NMAP使用介绍
- tensorflow将训练好的模型freeze,即将权重固化到图里面,并使用该模型进行预测