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. Winform(C#.NET)自动更新组件的使用及部分功能实现(续)

    接昨天的文章Winform(C#.NET)自动更新组件的使用及部分功能实现 强制更新的实现部分: 将DownloadConfirm窗体修改成单纯的类 public class DownloadConf ...

  2. 用c#开发微信 (8) 微渠道 - 推广渠道管理系统 3 UI设计及后台处理

    我们可以使用微信的“生成带参数二维码接口”和 “用户管理接口”,来实现生成能标识不同推广渠道的二维码,记录分配给不同推广渠道二维码被扫描的信息.这样就可以统计和分析不同推广渠道的推广效果. 前面二篇& ...

  3. SignalR 简单示例

    一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...

  4. JPA oneToMany 级联更新

    oneToMany 使用: 示例:Employee与Phone为例. 1.类定义如下: package com.vrvwh.wh01.domain; import javax.persistence. ...

  5. 在Mac OS上安装Vagrant和Docker的教程

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/128.html?1455808640 当听到很多人在说Docker是多么多 ...

  6. crossplatform---Nodejs in Visual Studio Code 07.学习Oracle

    1.开始 Node.js:https://nodejs.org OracleDB: https://github.com/oracle/node-oracledb/blob/master/INSTAL ...

  7. PHP--------memcache技术

    新事物的产生都不是偶然的 1.为什么会产生memcache? 在大型的电商web页面上,数据量庞大,大量用户需要同时访问海量的数据,为了提高用户的访问效果,如何才能让页面加载最快,更友好的展示到用户面 ...

  8. springMVC乱码问题-转

    彻底解决Spring MVC 中文乱码 问题     1:表单提交controller获得中文参数后乱码解决方案 注意:  jsp页面编码设置为UTF-8 form表单提交方式为必须为post,get ...

  9. JavaScript核心编程(代码片段)

    var a = function () { function someSetup() { var setup = 'done'; } function actualWork() { alert('Wo ...

  10. 解决ScrollView嵌套ListView,ListView填充容器后,界面自动滚动回顶部的问题

    1.scrollView.scrollTo(0,0),有时可以,有时不行: 2.listView.post(new Runnable() {                               ...