rac11g错误:远程连接报错:ORA-12545: 因目标主机或对象不存在, 连接失败

描述:

刚搭建起来的rac环境,通过监听连接:sqlplus system/oracle@11grac 发现报了如下错误:

ORA-12545: 因目标主机或对象不存在, 连接失败

查看两个节点的tnsnames.ora 信息如下:

11grac =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = test)
    )
  )

分别在两个节点查看参数文件信息:

rac1:

SQL> show parameter listener
NAME      TYPE  VALUE
------------------------------------ ----------- ------------------------------
listener_networks      string
local_listener      string  (DESCRIPTION=(ADDRESS_LIST=(AD
 DRESS=(PROTOCOL=TCP)(HOST=rac1
 -vip)(PORT=1521))))
remote_listener       string  rac-scan:1521

rac2:

SQL> show parameter listener
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
listener_networks     string
local_listener     string (DESCRIPTION=(ADDRESS_LIST=(AD
DRESS=(PROTOCOL=TCP)(HOST=rac2
-vip)(PORT=1521))))
remote_listener     string rac-scan:1521

看到以上信息后,肯定第一步确定了我现在系统的hosts文件,确保rac-scan对应的ip地址存在。

然后尝试tnsping 11grac,发现可以通。因为tnsping只检查IP地址和端口是否能连通,至于数据库实例状态,监听注册了哪些服务这些,它是不检查的.

查看SCAN Listener 的状态:

[grid@rac1 admin]$ lsnrctl status LISTENER_SCAN1
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-OCT-2014 11:00:04
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER_SCAN1
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                24-OCT-2014 10:51:50
Uptime                    0 days 0 hr. 8 min. 13 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/11.2.0/grid/log/diag/tnslsnr/rac1/listener_scan1/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.15.120)(PORT=1521)))
Services Summary...
Service "test" has 2 instance(s).
  Instance "test1", status READY, has 1 handler(s) for this service...
  Instance "test2", status READY, has 1 handler(s) for this service...
Service "testXDB" has 2 instance(s).
  Instance "test1", status READY, has 1 handler(s) for this service...
  Instance "test2", status READY, has 1 handler(s) for this service...
The command completed successfully

以上看来,是正常状态。

[grid@rac1 admin]$ lsnrctl service LISTENER_SCAN1

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-OCT-2014 11:03:53
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
Services Summary...
Service "test" has 2 instance(s).
  Instance "test1", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         REMOTE SERVER
         (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521)))
  Instance "test2", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         REMOTE SERVER
         (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521)))
Service "testXDB" has 2 instance(s).
  Instance "test1", status READY, has 1 handler(s) for this service...
    Handler(s):
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: rac1.lyg.com, pid: 5968>
         (ADDRESS=(PROTOCOL=tcp)(HOST=rac1.lyg.com)(PORT=26672))
  Instance "test2", status READY, has 1 handler(s) for this service...
    Handler(s):
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: rac2.lyg.com, pid: 6006>
         (ADDRESS=(PROTOCOL=tcp)(HOST=rac2.lyg.com)(PORT=54390))
The command completed successfully

以上状态,正常。

手工尝试关闭rac2节点的监听:

[grid@rac2 ~]$ lsnrctl stop
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-OCT-2014 11:09:42
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
The command completed successfully
[grid@rac2 ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-OCT-2014 11:09:49
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 2: No such file or directory
[grid@rac2 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DATA.dg    ora....up.type ONLINE    ONLINE    rac1        
ora.FRA.dg     ora....up.type ONLINE    ONLINE    rac1        
ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1        
ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac1        
ora....VOTE.dg ora....up.type ONLINE    ONLINE    rac1        
ora.asm        ora.asm.type   ONLINE    ONLINE    rac1        
ora.eons       ora.eons.type  ONLINE    ONLINE    rac1        
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
ora....network ora....rk.type ONLINE    ONLINE    rac1        
ora.oc4j       ora.oc4j.type  OFFLINE   OFFLINE               
ora.ons        ora.ons.type   ONLINE    ONLINE    rac1        
ora....SM1.asm application    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    OFFLINE   OFFLINE               
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1        
ora....SM2.asm application    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    OFFLINE   OFFLINE               
ora.rac2.gsd   application    OFFLINE   OFFLINE               
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2        
ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1        
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac1        
ora.test.db    ora....se.type ONLINE    ONLINE    rac1

此时,可以看到rac2节点的监听服务已经关闭了。再次查看SCAN Listener的状态:

[grid@rac1 admin]$ lsnrctl service LISTENER_SCAN1
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-OCT-2014 11:16:28
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
Services Summary...
Service "test" has 2 instance(s).
  Instance "test1", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
         REMOTE SERVER
         (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521)))
  Instance "test2", status READY, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:blocked
         REMOTE SERVER
         (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521)))
Service "testXDB" has 2 instance(s).
  Instance "test1", status READY, has 1 handler(s) for this service...
    Handler(s):
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: rac1.lyg.com, pid: 5968>
         (ADDRESS=(PROTOCOL=tcp)(HOST=rac1.lyg.com)(PORT=26672))
  Instance "test2", status READY, has 1 handler(s) for this service...
    Handler(s):
      "D000" established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER <machine: rac2.lyg.com, pid: 6006>
         (ADDRESS=(PROTOCOL=tcp)(HOST=rac2.lyg.com)(PORT=54390))
The command completed successfully

可以看到此时的rac2节点的监听已经是blocked状态。此时,我们再尝试从rac2节点上去连接看看:

[oracle@rac2 ~]$ sqlplus system/oracle@TEST
SQL*Plus: Release 11.2.0.1.0 Production on Fri Oct 24 11:18:35 2014
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
ERROR:
ORA-28002: the password will expire within 6 days
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> show parameter instance_name;

NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name     string test1

可以看到,此时连接,已经体现了rac的故障切换功能。自动的连接到了实例1上。。。

原因是由于 Oracle会把local_listener注册到remote_listener(66/69)上,由于没有设置local_listener,默认就是"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521)))"

当client尝试连接66/69时,有一定机会返回 "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521)))"给client ,让client转向,而client不认识 HOST=hostname,造成 12545

时间: 2024-08-02 21:21:20

rac11g错误:远程连接报错:ORA-12545: 因目标主机或对象不存在, 连接失败的相关文章

oracle-创建地址失败,报错目标主机或对象不存在

问题描述 创建地址失败,报错目标主机或对象不存在 解决方案 http://blog.sina.com.cn/s/blog_5f4c4ea70100gkrw.html

DameWare Mini远程连接报错信息“找不到网络路径”的处理方法

DDameWare remote control工具进行开始远程控制时总是弹出"找不到网络路径"错误提示对话框. DameWare"进行远程控制时,要将DameWare程序拷贝到被控制机的"ADMIN$"目录下,才能进行远程控制的.所以如果被远程控制机关闭了"ADMIN$"共享,就无法正常使用了. 解决方法: 修改被控制机的注册表("开始→运行-输入"regedit") 在注册表编辑器中依次展 HKEY_L

oracle数据库局域网可正常连接,远程telnet tnsping都正常,但连接报错

问题描述 oracle数据库局域网可正常连接,远程telnet tnsping都正常,但连接报错 大家好,麻烦帮忙看看,有点小急,万分感谢: 问题详细说明在百度知道http://zhidao.baidu.com/question/1495804099701442579.html# 解决方案 应该是你防火墙的问题,建议你使用vpn方式连接. 解决方案二: 既然局域网可以正常访问,那还是更可能端口映射或者你的网关策略规则等拦截了请求. 解决方案三: 有可能是监听配置的问题,你加个实例监听看看

php pdo连接报错Connection failed: SQLSTATE[HY000] [2002]

  下面我们来看看php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题的解决办法. 错误 Connection failed: SQLSTATE[HY000] [2002] No such file or directory 环境概述: MacOS xampp 搭建的开发环境 apache mysql php xampp 已支持mysql oracle 测试ok,且 phpin

SQLServer客户端访问远程数据库报错

问题描述 SQLServer客户端访问远程数据库报错 SQLServer客户端访问远程数据库报错. 远程数据库是使用tomcat7.0回调阿里云的数据库. 解决方案 该问题很常见,解决方案请点击查看:http://blog.csdn.net/piaoshisun/article/details/6029174 解决方案二: 防火墙? 网络连接? 身份验证失败? 解决方案三: 网络名不再可用是连接中断,重新连下,或者检查下网络是否稳定 解决方案四: 如果是握手发生了错误,检查 (1)你的客户端是否

php使用pdo连接报错Connection failed SQLSTATE的解决方法_php技巧

本文实例讲述了php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题的解决方法.分享给大家供大家参考.具体方法如下: 错误描述: Connection failed: SQLSTATE[HY000] [2002] No such file or directory 环境概述:MacOS xampp 搭建的开发环境 apache mysql php xampp 已支持mysql o

java-BoneCP 数据库连接池连接报错

问题描述 BoneCP 数据库连接池连接报错 20C 请教 Bonecp 连接池经常报 [com.jolbox.bonecp.ConnectionHandle(229)] [ERROR] Failed to acquire connection. Sleeping for 7000ms. Attempts left: 5java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection at o

phprpc远程调用报错,不知道什么原因

问题描述 phprpc远程调用报错,不知道什么原因 我在学习phprpc远程调用,按照网上的教程,发现报错:Incorrect response id (request id: 1, response id: ) n:好纠结啊,求教.贴出代码如下: 服务端,member.php <?php require_once 'jsonRPCServer.php'; /** User: Administrator Date: 2015/12/28 Time: 11:06 */ class member {

swf-怎么我的FlexPaper显示不出来?官网的文件也显示不出来,直接报错,求解答,急!谢谢

问题描述 怎么我的FlexPaper显示不出来?官网的文件也显示不出来,直接报错,求解答,急!谢谢 我的FlexPaper显示不出来,调试了半天了,不知道是哪里的问题,求大神解答,下面 是项目的文件和路径,jsp为baseFile.jsp,我把它放到 FlexPaper文件夹下边了,在页面中报的错是FlexPaperViewer未定义 解决方案 解决XP系统显示隐藏文件显示不出来