Oracle 11gR2 RAC中的SCAN IP

简介:

Oracle 11gR2 中,引入了SCAN(Single ClientAccess Name)的特性。SCAN是一个域名,可以解析至少1个IP,最多解析3个SCAN IP,客户端可以通过这个SCAN 名字来访问数据库,另外SCAN ip必须与public ip和VIP在一个子网。

在11gR2之前配置TNS连接串使用的都是VIP,如果RAC集群添加节点或VIP有变化,就需要对所有的客户端的TNS配置进行修改,这样很麻烦,引入SCAN后就省去了这些麻烦。启用SCAN 之后,会在数据库与客户端之间,添加了一层虚拟的服务层,就是SCAN IP和SCAN IP Listener,在客户端仅需要配置SCAN IP的tns信息,通过SCANIP Listener,连接后台集群数据库。这样,不论集群数据库是否有添加或者删除节点的操作,均不会对客户端产生影响,也就不需要修改配置。

1、配置SCAN有3种方法:

1.  使用/etc/hosts文件

这个是我们目前用的最多的方式,但是缺点只能对应一个SCAN IP,该方法Oracle 不推荐,但是简单,不需要单独的DNS 服务器,使用该方法,客户端还是需要VIP来链接。 Oracle 推荐使用其他的2种方法来实现SCAN 功能。

2.  在DNS中定义域名,只需要在DNS中配置即可实现SCAN 功能。

 

3.  通过Grid Naming Server(GNS),需要配置DNS 和DHCP才能实现SCAN 功能。

 

注:这部分摘自David的博客http://blog.csdn.net/tianlesoftware/article/details/42712979,我困惑的是使用第一种方法也可以使用SCAN IP来连接到数据库,但为什么davide说还是需要使用VIP来连接?

配置完成后就可以在TNS连接串用SCAN IP来连接数据库了。

2、SCAN工作流程

在启用SCAN 特性之后,除了多几个SCAN IP 之外,还会多几个SCAN IP Listener,每个SCAN IP对应一个SCAN IP Listener,为了性能考虑,每个SCAN IP以及其对应的SCAN IP Listener将被独立的分配到各个节点上。

wKioL1kz9CWgNqnQAAB3nt68u74190.jpg

从Oracle给出的图中可以看到,图的右边是一个4个节点的RAC 集群,所以有4个Local Listener。 配置了3个SCAN IP和3个 SCAN Listeners。这3个SCAN IP 是随机的落在RAC节点上。

更多概念性的东西可以参考David的博客:http://blog.csdn.net/tianlesoftware/article/details/42712979

3、实际管理SCAN

在安装RAC的时候,需要在/etc/hosts文件中配置一条如下的信息:

wKioL1kz9qXyymeiAAAFnHdRkDI382.png

启动集群后可以看到关于SCAN的服务,它们被分在集群资源中,可以看到有vip服务和监听服务

wKioL1kz9xzz2EJ7AAA53Az1sVg854.png

使用srvctl进行管理scan,下面为查看SCAN和SCAN_LISTENER的状态和配置

wKiom1kz946TBSUxAABH9w4DJcs490.png

下面看看SCAN Listenre的状态,和监听的服务

wKioL1kz9-exQRMFAACwpNMWaYs518.png从上面可以看到这一个SCAN Listener监听着两个实例,这是通过remote_listener参数来实现的。

从上在的配置中可以看出,现在这个集群中只有一个SCAN IP,现在增加一个SCAN IP

先在两个节点的/etc/hosts文件中添加一个新的ip

192.168.56.27  rac-scan

添加完成后,修改SCAN服务

wKioL1kz-ZWTZE0YAABFYbIsgPU261.png

从上图中可以看到新的IP已经添加到了SCAN服务中,但还没有运行,执行下面命令

wKiom1kz_AuBdLw1AAAWYp8hHfM831.png

wKioL1kz_AzRLEDWAAAaihYsetU513.png

wKioL1kz_AzCucXPAAA8Kc1V3GI589.png

从上面的截图中可以看到虽然报错了,但scan2服务仍然启动了,虚拟IP也已经绑定到了网卡上

wKioL1kz_Hagf4pRAAA9DxuoCk8980.png但现在还只有一个SCAN Listener,下面启动第二个监听:

wKioL1kz_aajEWnGAAAqqSCjDiI990.png

wKiom1kz_abwh8OqAAAqu3BIQWU691.png

wKioL1kz_aej7Iv0AAAgXWW5o78482.png

wKioL1kz_aeDXitDAABFRKFHZAM822.png

启动监听后查看第二个监听是否有数据库服务

wKioL1kz_e3gAu_DAACwmIei0fQ992.png测试使用新的SCAN IP连接数据库

wKioL1kz_oeCNisvAAAdWsN0O7o769.png

连接成功。


参考:Grid Infrastructure Single Client Access Name (SCAN) Explained (文档 ID 887522.1)

http://docs.oracle.com/cd/E11882_01/rac.112/e41960/toc.htm

http://blog.csdn.net/tianlesoftware/article/details/42712979




      本文转自hbxztc 51CTO博客,原文链接:http://blog.51cto.com/hbxztc/1932119,如需转载请自行联系原作者



相关文章
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
651 2
|
存储 负载均衡 Oracle
|
存储 Oracle 关系型数据库
|
Oracle 关系型数据库
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
357 0
|
6月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
516 93
|
5月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
302 0
|
8月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
6月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
420 8
|
8月前
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
394 11

推荐镜像

更多