SCAN概念

做数据库迁移时,Oracle数据库从10 升级到11g R2时,发现不同节点有多个Ip,甚是不解,原来是从11g R2时,客户端可以通过SCAN特性负载均衡地连接到RAC数据库。SCAN提供一个域名来访问RAC,域名可以解析1个到3个(注意,最多3个)SCAN IP,我们可以通过DNS或者GNS来解析实现。其中DNS大家都很熟悉,这里不多说。GNS(Grid Naming Service)则是Oracle 11g R2的新功能,可以通过DHCP服务为节点和SCAN分配VIP和SCAN IP。另外还有个优点是,对于新加入集群的节点,它会自动分配VIP地址,更新集群资源,客户端依然通过SCAN特性负载均衡地连接到新增集群节点上。DNS和GNS配置与解析相关内容在下面还有说明。

除了DNS和GNS解析方法外,SCAN也可以使用hosts文件来解析,但用过的人都知道,此方法不仅在安装RAC的时候产生问题,后期使用也是存在问题的,比如SCAN域名只能定义一个SCAN IP。所以这种方法也是Oracle不推荐使用的。但尽管如此,我见过很多生产上依然这样使用,也就是废弃了11g的新特性SCAN,而是依然采用VIP连接方式。

SCAN最明显的优点就是,当集群中新增加了节点或者删除了节点,不需要额外维护客户端。

PUBLIC IP

这是我们网卡上配置的真实IP地址,我们称为公共IP,这个IP的存在关系到下面介绍的VIP能不能正确漂在其所在网卡上。注意,PUBLIC IP是不提供给客户端去连接配置的,这并不是说通过PUBLIC IP无法连接实例,而是它会存在节点服务器宕机的时候所有向它请求的客户端都会有等待现象并且最后得到超时信息的缺点。

PRIVATE IP

称为私网IP(私有IP),它是用于心跳同步的,也就是保证两台服务器数据同步。说道私网IP,我简单说下Oracle另一个高可用性连接特性 – HAIP。其实Cache Fusion会消耗节点服务器很大的私网资源,另外,私网间无法通信还会引起brain split(脑裂),以前为解决这种问题,我们可以采用网卡bonding技术,而Oracle在11g R2的时候HAIP技术来实现,HAIP(Highly Available Virtual IP)用于节点间的私网通信,支持同时使用多个网络连接来满足网卡间的负载均衡,并且还提高了Cache Fusion资源通信能力。HAIP技术并不是主要内容,所以在这里点到为止。

VIP

RAC的每个节点都需要有一个虚拟IP,这就是VIP。VIP需要和PUBLIC IP同一个子网,它们是由GI的Clusterware来管理的。VIP在其节点服务器发生故障的时候会自动漂移到另外正常的节点服务器上,如果RAC是多个节点运行的,那具体漂移到哪个活动的节点将由Clusterware决定。VIP发生漂移现象之后,其当前的节点服务器LOCAL LISTENER是不会监听它的请求的,所以有客户端向这个VIP发送请求时,Clusterware的FAN会通知客户端向别的VIP发送请求,客户端收到通知后通过Failover机制把请求重新发送到ADDRESS列表中的其他VIP上。虽然有这种较复杂的过程,但始终对客户端是透明进行的,而且这个过程完成时间非常短暂,客户端也就几乎感受不到有节点宕机。等故障节点恢复正常,漂移的VIP也回到此节点上,继续提供服务。

SCAN VIP

SCAN VIP就是我在刚开始常说的SCAN IP,也就是由DNS或者GNS、hosts解析出来的IP地址。上面也说过,SCAN VIP最多能有三个,它们循环地被客户端所请求到。这里大家可能会存在这样的问题,SCAN VIP只有三个,那RAC是四节点或更多的节点情况怎么办?存在这种问题的原因归咎于对SCAN VIP的了解不足。其实,SCAN VIP数量和节点数是没有任何关系的,SCAN VIP会落到哪个节点上都是随机的。

GNS VIP

GNS VIP同SCAN VIP,也是Oracle从11g R2开始提供的。GNS VIP是提供GNS服务的IP地址,它绑定到某个节点的PUBLIC IP所在网卡上,当节点出现故障,GNS资源会自动切换到其他正常的节点继续提供GNS解析服务。如果我们不使用GNS解析方法,那么也不会存在GNS VIP。

LOCAL LISTENER

本地监听器,RAC的每个节点上都会有独立的本地监听器,它会监听该节点的PUBLIC IP和VIP,而每个节点的实例在启动的时候也向本地监听器进行注册,当然它也会向SCAN监听器注册,当VIP或者PUBLIC IP(这种情况比较少见)有连接请求的时候,本地监听器就接受处理并和本地实例建立连接。如果某个节点故障,其上面的VIP会进行漂移,但本地监听器并不会产生漂移。

SCAN LISTENER

SCAN监听器,它是实现SCAN负载均衡的原理所在。如果RAC上有三个SCAN VIP,那么SCAN监听器也有三个,它们各自监听SCAN VIP的连接请求。SCAN监听器跟着SCAN VIP随机分配到节点服务器上,如果某个节点发生故障,运行在此节点上的SCAN VIP会进行漂移,这时候SCAN监听器也跟着漂移到正常的节点上,继续为SCAN VIP监听连接请求,当PMON进程下次动态更新实例信息到该SCAN监听器之后,它又重新接受客户端的连接。这和VIP产生漂移的时候是有所区别的。

LOCAL_LISTENER

这是Oracle的参数,这个参数控制着本地监听器的注册,因为本地监听器的工作机制关系,通过本地监听器的数据库连接请求只会连接到本地节点的实例上。

REMOTE_LISTENER

同LOCAL_LISTENER是Oracle的参数,通过这个设置,任何实例都会向SCAN监听器注册,所以SCAN监听器能够负载均衡地分发连接请求到节点本地监听器上,也就是连接到其本地节点上实例上。

RAC环境scan ip详解相关推荐

  1. Oracle 11g R2+RAC+ASM+redhat安装详解1

    Oracle RAC是Oracle Real Application Cluster的简写,官方中文文档一般翻译为"真正应用集群",它一般有两台或者两台以上同构计算机及共享存储设备 ...

  2. RAC 增加SCAN IP

    RAC 增加SCAN IP 对新配置的oracle RAC环境增配2个SCAN IP地址,192.168.59.175以及192.168.59.176. 1.1.1.1     配置前信息 默认情况下 ...

  3. CentOS 8虚拟机下设置固定IP详解

    面临的问题:每次电脑重启,打开虚机IP地址都会发生变化 搜索了下面的文章, 我的环境: 虚机镜像:CentOS 8, 网络链接方式:NAT模式 虚拟机:VMware Workstation 16 Pr ...

  4. 《TCP IP 详解卷1:协议》阅读笔记 - 第十章

    阅读须知:笔记为阅读<TCP IP 详解卷1:协议>后摘抄的一些知识点,其间也有加入一些根据英文原版的自己翻译和结合网上知识后的理解,所以有些段落之间并不能够串联上或者知识点与书上略有差别 ...

  5. TCP/IP详解学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  6. 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  7. IPv6时代的《TCP/IP详解》!

    点击我,试试看吧!                                                    点击我,试试看吧!                              ...

  8. TCP/IP详解--第十七章

     第17章 TCP:传输控制协议 17.1    引言   本章将介绍 TCP为应用层提供的服务,以及 TCP首部中的各个字段.随后的几章我们在了 解TCP的工作过程中将对这些字段作详细介绍. 对TC ...

  9. TCP/IP详解--第十五章

     第15章 TFTP:简单文件传送协议 15.1    引言   TFTP(Trivial File Transfer Protocol) 即简单文件传送协议,最初打算用于引导无盘系统 (通常是工作站 ...

最新文章

  1. 模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
  2. 如何运用深度强化学习,让机器人运动更灵活智能?
  3. python 字符串补齐
  4. 【数据挖掘笔记九】分类:高级方法
  5. 【坑】记录型信号量/AND信号量/管程解决生产者-消费者问题
  6. Spring 学习教程(一): 认识 Spring 框架
  7. java中XPATH操作xml,非常便捷
  8. [SharePoint 2010] Client Object Model 跨时区查询list item的方法
  9. ubuntu16.04打造vim和python3的IDE
  10. colspan会影响内部单元格宽度失效_冷轧轧辊失效原因分析及改进措施
  11. Origin实现中英文版本切换
  12. 《个人信息安全规范 (2019-6-21) 》征求意见稿的最新变化
  13. php 截取图片像素,php 如何修改图片像素大小
  14. RocketMQ重试机制(ACK确认机制)
  15. 最全英豪工具箱(LvyhTools)PPT插件教程(前篇)
  16. 报告|中国智能音箱已入局全球市场,双重商业模式迅速扩张
  17. XAI Explainable AI 模型可解释性(3)
  18. 4.18、TCP滑动窗口
  19. 888d标签软件 deli_得力DL-888D条码标签打印机驱动
  20. Deepfakes中文版,汉化版下载,各换脸软件下载(都已整理好)

热门文章

  1. python写入指定的excel_python 写入Excel
  2. 高等数学Mathematica实验题——2.2 - 17.根号2的连分式展开(Expansion of square 2)
  3. MKL FFT简单调试
  4. 最主流的五个大数据处理框架的优势对比
  5. oracle 判断节气,FullCalendar应用——整合农历节气和节日
  6. [渝粤教育] 中国地质大学 Java语言程序设计 复习题
  7. JavaSE学习笔记-08
  8. python输出一年有多少天多少时分秒_python编程如何显示从1970年1月1日到今天多少天又多少小时...
  9. poi在word输出复选框windows远程突然不能复制的解决方法
  10. 整理英语句子:将首字母大写,单词之间只能一个空格,最后加句号