oracle10g RAC ora-12545因目标主机或对象不存在的错误解决
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,由于历史原因,应用升级需要成本,最近新上了一套oracle 10g RAC (10.2.0.5),测试时,从其他应用服务器,链接这套数据库,使用的是vip链接,发现大量报错,报错为ora-12545因
千家信息网最后更新 2025年02月03日oracle10g RAC ora-12545因目标主机或对象不存在的错误解决由于历史原因,应用升级需要成本,最近新上了一套oracle 10g RAC (10.2.0.5),测试时,从其他应用服务器,链接这套数据库,使用的是vip链接,发现大量报错,报错为ora-12545因目标主机或对象不存在。
ORA-12545: Connect failed because target host or object does not exist
查询网上资料和mos文档,
导致这个问题的原因
Whe LOCAL_LISTENER is not set at all or is not set correctly, PMON can register both the VIP hostname and the physical hostname with the REMOTE_LISTENER. This is incorrect in RAC but if it does occur, the client can intermittently be routed to a listener endpoint on either of these addresses. If the client is unable to resolve the physical hostname or even the vip hostname, the connection will fail with ORA-12545.
由于LOCAL_LISTENER未配置或者配置不争取,PMON进程使用的是REMOTE_LISTENER注册vip hostname和物理地址,在rac里面,这是不对的配置,客户端无法使用这些地址正确路由到监听服务器。如果客户端无法正确解析物理地址或者vip的hostname,链接就会报 ORA-12545错误。
Additionall, if the VIP hostname cannot be resolved, but the VIP numerical address is reachable; then this VIP numerical address should be used as the HOST value for LOCAL_LISTENER instead.
And important first set is to check the output for : lsnrctl services
You should not see the physical hostname in the handler information for your RAC instances. Here's an example of an incorrect lsnrctl services output for a 2-node RAC cluster:
lsnrctl services oracle_rac_listener
Service "oracle.oracle.com" has 2 instance(s).
Instance "orcl1", status READY, has 2 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=myphysicalhost1)(PORT=1521))
"DEDICATED" established:326 refused:0 state:ready
LOCAL SERVER
Instance "orcl2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:394371 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=myphysicalhost2)(PORT=1521))
Here's an example of what it ought to look like when LOCAL_LISTENER is configured correctly:
lsnrctl services oracle_rac_listener
Service "oracle.oracle.com" has 2 instance(s).
Instance "orcl1", status READY, has 2 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=myVIP_host1)(PORT=1521))
"DEDICATED" established:326 refused:0 state:ready
LOCAL SERVER
Instance "orcl2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:394371 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=myVIP_host2)(PORT=1521))
解决方案:
分别修改两边的RAC实例的LOCAL_LISTENER配置。
alter system set LOCAL_LISTENER="(address=(protocol=tcp)(port=1521)(host=))" scope=both sid='INSTANCE_NAME1';
alter system set LOCAL_LISTENER="(address=(protocol=tcp)(port=1521)(host=))" scope=both sid='INSTANCE_NAME2';
另外,相关配置REMOTE_LISTENER.
alter system set REMOTE_LISTENER='' scope=both sid='*';
另外parallel_instance_group参数也可以配置不一样的值
alter system set parallel_instance_group="A" scope=both sid='INSTANCE_NAME1';
alter system set parallel_instance_group="B" scope=both sid='INSTANCE_NAME2';
最后,注意的是,修改完后,重启监听,如果重启监听都不行,重启一下数据库或者两个实例重启一下。
ORA-12545: Connect failed because target host or object does not exist
查询网上资料和mos文档,
导致这个问题的原因
Whe LOCAL_LISTENER is not set at all or is not set correctly, PMON can register both the VIP hostname and the physical hostname with the REMOTE_LISTENER. This is incorrect in RAC but if it does occur, the client can intermittently be routed to a listener endpoint on either of these addresses. If the client is unable to resolve the physical hostname or even the vip hostname, the connection will fail with ORA-12545.
由于LOCAL_LISTENER未配置或者配置不争取,PMON进程使用的是REMOTE_LISTENER注册vip hostname和物理地址,在rac里面,这是不对的配置,客户端无法使用这些地址正确路由到监听服务器。如果客户端无法正确解析物理地址或者vip的hostname,链接就会报 ORA-12545错误。
Additionall, if the VIP hostname cannot be resolved, but the VIP numerical address is reachable; then this VIP numerical address should be used as the HOST value for LOCAL_LISTENER instead.
And important first set is to check the output for : lsnrctl services
You should not see the physical hostname in the handler information for your RAC instances. Here's an example of an incorrect lsnrctl services output for a 2-node RAC cluster:
lsnrctl services oracle_rac_listener
Service "oracle.oracle.com" has 2 instance(s).
Instance "orcl1", status READY, has 2 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=myphysicalhost1)(PORT=1521))
"DEDICATED" established:326 refused:0 state:ready
LOCAL SERVER
Instance "orcl2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:394371 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=myphysicalhost2)(PORT=1521))
Here's an example of what it ought to look like when LOCAL_LISTENER is configured correctly:
lsnrctl services oracle_rac_listener
Service "oracle.oracle.com" has 2 instance(s).
Instance "orcl1", status READY, has 2 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=myVIP_host1)(PORT=1521))
"DEDICATED" established:326 refused:0 state:ready
LOCAL SERVER
Instance "orcl2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:394371 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=myVIP_host2)(PORT=1521))
解决方案:
分别修改两边的RAC实例的LOCAL_LISTENER配置。
alter system set LOCAL_LISTENER="(address=(protocol=tcp)(port=1521)(host=))" scope=both sid='INSTANCE_NAME1';
alter system set LOCAL_LISTENER="(address=(protocol=tcp)(port=1521)(host=))" scope=both sid='INSTANCE_NAME2';
另外,相关配置REMOTE_LISTENER.
alter system set REMOTE_LISTENER='' scope=both sid='*';
另外parallel_instance_group参数也可以配置不一样的值
alter system set parallel_instance_group="A" scope=both sid='INSTANCE_NAME1';
alter system set parallel_instance_group="B" scope=both sid='INSTANCE_NAME2';
最后,注意的是,修改完后,重启监听,如果重启监听都不行,重启一下数据库或者两个实例重启一下。
配置
地址
链接
监听
原因
实例
客户
客户端
数据
数据库
服务器
物理
应用
服务
主机
对象
目标
错误
不对
不行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
玉环定制软件开发解决方案
电子邮件连接不到服务器怎么回事
个人对网络安全的了解
数据库的数据保持原有格式
基于数据库窗体中当前选定
部署服务器环境搭建
scala 读数据库
数据库的事务属性有哪些
大连网络安全技术排名
重庆拍好样网络技术有限公司
软件开发五个阶段
ntp 服务器不可用
软件开发师认证
ct网络安全性
昆明app软件开发公司
论文写作中如何查找数据库
与或非数据库
教师的护苗网络安全课观后感
与网络安全的心得体会100
飞驰人生网络技术工作室
山东东营网络安全宣传
ct网络安全性
多媒体播放软件开发
数据库的封锁技术
魔兽怀旧服中国区服务器
评价方法数据库设计
共享充电线系统软件开发公司
软件开发合同甲方版本
软件开发包括哪方面
一个网站调用两个数据库