Oracle 版本:11.2.0.1.0

客户端:Windows Server 2003/PLSQL Developer

Oracle服务器端的ip设置如下:

##公网ip

192.168.135.201 WIN-2008SERVER1

192.168.135.202 WIN-2008SERVER2





##虚拟ip

192.168.135.211 WIN-2008SERVER1-vip

192.168.135.212 WIN-2008SERVER2-vip





##私网ip

10.168.135.201 WIN-2008SERVER1-pri

10.168.135.202 WIN-2008SERVER2-pri



##SCAN ip

192.168.135.220 scan

两个RAC实例的虚拟ip已经设置为ip地址而不是名称,如下:

客户端PLSQL Developer的tnsnames.ora设置如下:

ORCL = (DESCRIPTION =

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

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

    (LOAD_BALANCE = yes)

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

      (FAILOVER_MODE =

         (TYPE = select)

         (METHOD = basic)

         (RETRIES = 180)

         (DELAY = 5)

      )

    )

scan =

(DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )





192.168.135.200 =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

使用PLSQL Developer连接ORCL,没有任何问题。

客户端Windows的hosts文件没有修改之前,使用PLSQL Developer连接Oracle的SCAN ip 192.168.135.200,异常如下:

ORA-12541: TNS: no listener

连接Oracle的SCAN名称scan,异常如下:

ORA-12545: Connect failed because target host or object does not exist

网上有说升级Oracle版本就可以解决的,没有尝试过,不知道可否?

也有说将RAC实例的local_listener修改为虚拟ip就可以的,但是已经是这样了,不知为何?

最后,客户端Windows的hosts文件添加Oracle服务器端的虚拟ip和SCAN ip的设置,重启操作系统之后,使用PLSQL Developer连接Oracle的SCAN名称scan,连接成功!

扩展话题:如果SCAN名称直接设置为ip地址(不知Oracle是否支持?),客户端PLSQL Developer连接的host名称也就可以填写为ip地址了,这样看起来就和连单机Oracle实例很像了。

扩展阅读:

ORA-12541: TNS:no listener ( ERROR coming when one node of RAC database is off

http://www.dbasupport.com/forums/showthread.php?53938-ORA-12541-TNS-no-listener-(-ERROR-coming-when-one-node-of-RAC-database-is-off

java应用连接oracle 11g R2 rac (用scanip连接报错)

http://blog.csdn.net/weiwangsisoftstone/article/details/38535463

11gR2 clients connect to the database using SCANs

http://www.dbatoolz.com/t/11gr2-clients-connect-to-the-database-using-scans.html

scan-ip部分可以连接,部分连接不了

http://t.askmaclean.com/thread-4090-1-1.html

Oracle 11g RAC客户端使用SCAN IP无法连接问题的更多相关文章

  1. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...

  2. Oracle 11G R2 RAC中的scan ip 的用途和基本原理【转】

    Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...

  3. Oracle 11G R2 RAC中的scan ip 的用途和基本原理

    Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...

  4. [转]Oracle 11g RAC SCAN ip的原理及配置

    原文地址:http://tiany.blog.51cto.com/513694/1421917/ Oracle 11g RAC SCAN ip的原理及配置   Oracle 11g RAC网格即插即用 ...

  5. 转载:细说oracle 11g rac 的ip地址

    本文转载自:细说oracle 11g rac 的ip地址 http://blog.sina.com.cn/s/blog_4fe6d4250102v5fa.html 以前搭建oracle rac的时候( ...

  6. oracle 11g RAC安装节点二执行结果错误CRS-5005: IP Address: 192.168.1.24 is already in use in the network

    [root@testdb11b ~]# /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInvento ...

  7. Oracle 11g RAC 修改各类IP地址

    Oracle 11g RAC 修改各类IP地址 首先,我们都知道Oracle 11g RAC中的IP主要有:Public IP.VIP.SCAN VIP.Private IP这几种. 一般这类改IP地 ...

  8. 安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...

  9. oracle 11g RAC 在Windows 7下安装

    oracle 11g RAC 在Windows 7下安装 完全要参考RAC11gR2OnWindows.pdf 难点总是在Grid Infrastructure 而安装Grid Infrastruct ...

随机推荐

  1. C#过滤Html标签及空格

    public static string FilterHTML(string HTMLStr) { if (!string.IsNullOrEmpty(HTMLStr)) return System. ...

  2. 100道.net面试题

    简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该 ...

  3. 尝试在Linux上编译KestrelHttpServer

    Kestrel是目前在非Windows平台上运行ASP.NET 5应用程序的唯一可用Web服务器,但微软似乎将它冷落在一边,源代码更新很慢. 今天试着在Linux上编译Kestrel的源代码,遇到了很 ...

  4. missing locales

    原文地址:http://codewut.de/content/missing-locales-under-debian This drives me crazy! Every time I deboo ...

  5. web app 禁用手机浏览器缓存方法

    开发过web app的同学,特别是前端人员,都碰到这烦人的事情,JS或CSS代码改变,可手机浏览器怎么刷新都不更新,手机浏览器的缓存特别恶劣. 所以今天贴个方法解决这问题.记得,本地调试的时候贴上,上 ...

  6. Hive 安装配置

    系统:Ubuntu 64 bit系统 step1:创建hive文件目录,并在hive目录下创建tmp,warehouse 和 log目录: Step2:解压hive安装包: Step3:创建配置文件: ...

  7. iOS开发-动态和静态FrameWork

    开发中我们会使用到第三方的SDK,有的时候也会将整个系统的公用的功能的抽象出来成为FrameWork,我们只需要暴露对外的接口,使用者只需要调用接口,对于内部实现的过程不需要维护,可以以库的形式进行封 ...

  8. 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法

    今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下: 1 //获取Serv ...

  9. [转]Oracle因安装时未设定字符集导致中文乱码的解决方案

    在CentOS 6.4上安装Oracle 11g没有设定字符集,采用的是操作系统默认字符集:WE8MSWIN1252,将字符集修改为:AL32UTF8. SQL> select userenv( ...

  10. window.history.pushState与ajax实现无刷新更新页面url

    ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history ...