甚至有时会出现一种情况:
有时能用有时会报ora-12545
日前在itpub上也刚刚帮人处理了个这样的问题:
问题:
rac 环境 ora-12545 错误 local_listener已经配了
local_listener 两个节点都配了
还是ora-12545麻烦各位看看什么问题
hosts
#private network-eth1
10.0.0.19 moon-priv
10.0.0.21 sun-priv
#public network-eth0
192.168.1.19 moon
192.168.1.21 sun
#public virtul ip -eth0
192.168.1.20 moon-vip
192.168.1.22 sun-vip
SQL> show parameter local
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS = (PROTOCOL = TCP)(HO
ST = sun-vip)(PORT = 1521))
log_archive_local_first boolean TRUE
SQL> show parameter remote
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_archive_enable string true
remote_dependencies_mode string TIMESTAMP
remote_listener string leetaf
remote_login_passwordfile string EXCLUSIVE
remote_os_authent boolean FALSE
remote_os_roles boolean FALSE
lsnrctl service
...
...
...
Service "leetaf" has 2 instance(s).
Instance "leerac1", status READY, has 2 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=moon-vip)(PORT=1521))
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Instance "leerac2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=sun-vip)(PORT=1521))
The command completed successfully
客户端
tnsnames.ora
。。。
。。。
leerac1=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.20)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = leetaf)
(INSTANCE_NAME = leerac1)
)
)
leerac2=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = leetaf)
(INSTANCE_NAME = leerac2)
)
)
leetaf2 =
(DESCRIPTION =
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.20)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
(connect_data=(SERVICE_NAME = leetaf))
)
连接时候总报错
ora-12545 因目标主机或对象不存在,连接失败
答案:
客户端
tnsnames.ora
。。。
。。。
leerac1=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.20)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = leetaf)
(INSTANCE_NAME = leerac1)
)
)
leerac2=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = leetaf)
(INSTANCE_NAME = leerac2)
)
)
leetaf2 =
(DESCRIPTION =
(LOAD_BALANCE = yes)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.20)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
(connect_data=(SERVICE_NAME = leetaf))
)
试试上面不要这样写,而采用下面的方式:
修改/etc/hosts加上
192.168.1.20 moon-vip
192.168.1.22 sun-vip
然后tnsnames.ora里面不要直接用ip,而是用moon-vip和sun-vip
再不行把
#public network-eth0
192.168.1.19 moon
192.168.1.21 sun
也加到hosts文件里
如果windows就改 system32/drivers/etc/hosts
结果:
回复 #10 wa0362 的帖子
加了在客户端配了 hosts 好了
帖子连接:http://www.itpub.net/viewthread.php?tid=1247264&extra=&page=1
猜测两种可能的原因:以下内容纯属猜测,没找到官方文档证明
当有监听器的LOAD_BALANCE时 ,每当client建立一个链接的时候listener是需要给client一个地址去连接的,但是它给的并不是ip,而是给的hostname,所以客户端再用这个hostname去链接的时候自然就要报"ora-12545 因目标主机或对象不存在,连接失败"
或者是假如要被重定向到remote listener是会用hostname去连接,而如果是local listener则因为已经建立连接就会能成功
nnd,白猜了,metalink找到官方证据了:[ID 553328.1]
Problem : Client connections to RAC database servers fail with ORA-12545 / TNS-12545
Cause: One of the hostname (which corresponds to public IP or VIP) is not reachable from this client machine.
When the server side load balancing is enabled in the RAC setup, the listener will redirect the connection to the least loaded node.While doing so, the server sends the packet NSPTRD containing the hostname of the corresponding machine.
相关推荐
基于springboot+Web的毕业设计选题系统源码数据库文档.zip
四大类垃圾,有害垃圾、可回收垃圾、厨余垃圾、其他垃圾,共四千张左右,包含小米电池等不寻常的垃圾,适用于2025工程实践与创新能力大赛。
ASP.NET在线培训考试系统源码 1、增加错题卡功能 2、升级html功能 3、系统代码,数据库,数据库存储过程等,都无任何加密,是全部源码。 4、优化升级版本,界面更美观。 一、技术特点: 1、系统基于微软先进的.Net平台,100%纯B/S架构模式,系统部署、维护方便,具有良好的开放性、伸缩性和可扩展性 2、系统试卷分为考试模式和作业模式,考试模式自动计时,作业模式不计时,可用于平常作业或练习;试卷出题方式可采用题序固定、题序随机或试题随机模式;试卷显示方式分为整卷模式和逐题模式;试题随机和逐题模式可有效防止作弊; 3、支持自定义题型功能,系统提供单选类、多选类、判断类、填空类、问答类、作文类、打字类和操作类等八大类基本题型,其中操作类试题提供了文件下载和上传功能,轻松实现Word、Excel、FrontPage、Visual Foxpro等对文件或文件夹的操作; 4、系统可对试题的科目、知识点、题型、难度、分数、试题内容和试题解析等属性进行设置,单选类、多选类试题支持6个选项,完全可以满足当前试题要求,少于6个选项,
onnxruntime-1.15.1-cp310-cp310-win_amd64.whl
numpy-1.16.0-cp35-cp35m-linux_armv7l.whl
AI视频数据集(交通路口摄像头视频)
java源码资源EJB中JNDI的使用源码例子提取方式是百度网盘分享地址
scipy-1.12.0-cp311-cp311-linux_armv7l.whl
numpy-1.21.1-cp37-cp37m-linux_armv7l.whl
ta_lib-0.5.1-cp313-cp313-win32.whl
基于springboot的学生服务平台源码数据库文档微信小程序.zip
基于springboot旅游管理系统源码数据库文档.zip
PDF电子发票信息提取,支持将pdf发票文件夹下的剩所有发票,转为excel格式的信息,对于发票量比较大,不好统计,需要一个一个去统计的情况,可节省2个点以上的时间,一次下载,终身有效。
Pillow-7.2.0-cp37-cp37m-linux_armv7l.whl
基于springboot的银行信用卡额度管理系统源码数据库文档.zip
基于JavaScript的在线考试系统源码数据库文档.zip
Pillow-7.1.0-cp311-cp311-linux_armv7l.whl
基于SpringBoot装修公司管理平台源码数据库文档.zip
onnxruntime-1.17.0-cp311-cp311-win_amd64.whl
numpy-1.22.2-cp311-cp311-linux_armv7l.whl