返回顶部
首页 > 资讯 > 数据库 >Oracle RAC中的几个IP
  • 125
分享到

Oracle RAC中的几个IP

2024-04-02 19:04:59 125人浏览 薄情痞子
摘要

oracle11g开始,设置了SCAN ip,除此之外还有public ip,virtual ip,private ip,容易让人犯晕。下面逐一解释:public ip:   

oracle11g开始,设置了SCAN ip,除此之外还有public ip,virtual ip,private ip,容易让人犯晕。

下面逐一解释:

public ip:

   类似与单实例的oracle数据库ip,主要用于管理\访问。

virtual ip(vip):

  oracle在rac架构中专用,这个vip用于实现故障转移,当一个节点发生故障时,其vip会“浮动”到另外一个正常的节点,也即该正常节点对应着两个vip了。

SCAN:

   Single Client Access Name,单一客户访问名称,意思是客户端(如jdbc,pl/sql等)访问数据库时的公共域名,由于rac是多节点的,客户端要访问数据库,通过scan机制,只需要提供一个访问名称,oracle rac会自动为客户端分配一个节点,这对客户端来说是透明的。

 

private ip:私有ip,oracle 内部用于节点间通讯的ip,不对外开放。

 

public ip:

      必须是专用ip,必须在安装oracle rac前配置好,能与网络连通。public ip,vip,scan ip必须在同一个网络网段内。

vip:

     必须是专用ip,必须安装oracle rac前配置好,能与网络连通,public ip,vip,scan ip必须在同一个网络网段内。该ip及域名虽然配置,但必须保持不能使用(不能被访问,如ping)。

scan :

     建议通过dns配置三个专用ip,在安装前必须配置好,当有请求者时,由dns随机分配。暂不使用。scan ip需要给出唯一的名字,也即三个ip对应一个域名。名字只能是字符和'-'。oracle不推荐通过hosts文件来配置,那样只能得到一个scan ip。

    scan也是一个虚拟ip名,类似与虚拟ip名,但不同的是,虚拟ip是一个节点一个ip地址一个域名,scan是针对整个cluster的,一个域名对应着多个节点,多个ip地址。

 

private ip:

      必须是专用ip,必须在安装前配置好,必须在一个专用私有网络中,只能被另外的rac节点解析,不能被其它网络解析。从11.2.0.2开始,oracle可以自动使用至多4块私有网卡,以实现内部节点的负载均衡及冗余。

 

 

GNS:Grid Naming Service。

 

以下是网上的资料

 

在Oracle RAC环境下,每个节点都会有多个IP地址,分别为Public/Private/Vip,这三个IP到底有啥区别呢?分别用在那些场合呢?来看看老外的回答。
1. private IP address is used only for internal clustering processing (Cache Fusion)
私有IP用于心跳同步,这个对于用户层面,可以直接忽略,简单理解,这个Ip用来保证两台服务器同步数据用的私网IP。
2. virtual IP is used by database applications to enable fail over when one cluster node fails
虚拟IP用于客户端应用,以支持失效转移,通俗说就是一台挂了,另一台自动接管,客户端没有任何感觉。
这也是为什么要使用RAC的原因之一,另一个原因,我认为是负载均衡。
3. public IP adress is the nORMal IP address typically used by DBA and SA to manage storage, system and database.
公有IP一般用于管理员,用来确保可以操作到正确的机器,我更愿意叫他真实IP。

通过上述解释,不难理解作为一个DBA,在配置tnsnames.ora时,有些场合是要使用的vip,而有些场合又必须使用public IP。例如,当你在定位一个数据库的死时,使用public ip,可以确保连到你想处理的机器,相反此时使用虚拟ip时,会出现不确定性,因为服务器默认是开启负载均衡的,也就是有可能你想连A机,系统却给你分配了B机。
  
例如:

  1. 下面的例子就是使用的VIP

  2. infodb8 =

  3.   (DESCRIPTION=

  4.     (ADDRESS=(PROTOCOL= tcp)(HOST=138.*.1.81)(PORT= 1521))

  5.     (ADDRESS=(PROTOCOL= TCP)(HOST=138.*.1.82)(PORT= 1521))

  6.     (LOAD_BALANCE= yes)

  7.     (FAILOVER= ON)

  8.     (CONNECT_DATA=

  9.       (SERVER= DEDICATED)

  10.       (SERVICE_NAME= infodb)

  11.       (FAILOVER_MODE=

  12.         (TYPE=SELECT)

  13.         (METHOD= BASIC)

  14.         (RETRIES= 30)

  15.         (DELAY= 5)

  16.       )

  17.       ))


 

  1. 下面的例子就是使用的Public IP,指定连接1机,注意红色字体infodb1进一步限制连接的实例。

  2. INFODB83 =

  3.   (DESCRIPTION=

  4.     (ADDRESS_LIST=

  5.       (ADDRESS=(PROTOCOL= TCP)(HOST=138.*.1.83)(PORT= 1521))

  6.     )

  7.     (CONNECT_DATA=

  8.       (SERVICE_NAME= infodb)

  9.       (INSTANCE_NAME= infodb1)

  10.     )

  11.     (HS = OK)

  12.   )

Oracle RAC中每个节点都有一个虚拟IP,简称VIP,与公网IP在同一个网段。

 没有VIP时,Oracle客户端是靠“TCP/IP协议栈超时”来判断服务器故障。而TCP/IP协议栈是作为OS Kernel的一部分来实现,不同的OS有不同的阀值,用户获悉数据库异常的时间完全取决于OS Kernel的实现,虽然有些OS允许修改这个阀值,但是会对其它程序产生未知影响。因此,oracle RAC引入了VIP,从而避开对TCP协议栈超时的依赖。

VIP和IP最主要的不同之处在于:VIP是浮动的,而IP是固定的。在所有节点都正常运行时,每个节点的VIP会被分配到public NIC上;在linux下ifconfig查看,public网卡上是2个IP地址;如果一个节点宕机,这个节点的VIP会被转移到还在运行的节点上。也就是幸存的节点的public NIC这个网卡上,会有3个IP地址。

当一个节点宕机,这个节点真实IP就连接不上了,但是这个节点的虚拟IP是可以连接的,他会自动把客户端的连接请求转接给存活的节点。
在tnsname.ora文件里,指定Address列表,客户端会随机选择一个节点来连接数据库,而不是顺序选择的。
    
VIP特点:
1 VIP是在clusterware安装最后阶段,通过脚本VIPCA创建的;
2 VIP作为一个Nodeapps类型的CRS Resource注册到OCR中,并由CRS维护状态;
3 VIP会绑定到节点的public 网卡上;那么public网卡就有两个地址了;
4 当某个节点发生故障时,CRS会把故障节点的VIP转移到其他节点上;
5 每个节点的Listener会同时在public网卡的public IP和VIP两个地址上监听;
6 客户端的tnsname.ora一般会配置指向节点的VIP;

从上面第6条可以引出一个问题。如果增加一个节点,那么客户端的tnsname.ora需要加入新增节点的VIP。那么想象一下:多个客户端,增加多个节点,那么维护起来特别麻烦。因此到了Oracle11gR2,引入了一个scan的概念。

 scan,single client access name。简单客户端连接名,这是一个唯一的名称,在整个公司网络内部唯一,并且在DNS中可以解析为三个ip地址,客户端连接的时候只需要知道这个名称,并连接即可,每个SCAN VIP对应一个scan listener,cluster内部的service在每个scan listener上都有注册,scan listener接受客户端的请求,并foward到不同的Local listener中去,还是由local 的listener提供服务给客户端。  

注意:scan不一定要resolve到三个ip,一个也够了。只不过为了防止scan单点故障而推荐3个。
VIP 原理和特点

Oracle 的TAF 就是建立在VIP 技术之上的。 IP 和VIP 区别在与: IP 是利用TCP层超时, VIP 利用的是应用层的立即响应。VIP 它是浮动的IP。 当一个节点出现问题时会自动的转到另一个节点上。

假设有一个2个节点的RAC,正常运行时每个节点上都有一个VIP。 VIP1 和VIP2. 当节点2发生故障,比如异常关系。 RAC 会做如下操作:

1). CRS 在检测到rac2节点异常后,会触发Clusterware 重构,最后把rac2节点剔除集群,由节点1组成新的集群。

2). RAC的Failover 机制会把节点2的VIP转移到节点1上,这时节点1的PUBLIC 网卡上就有3个IP 地址: VIP1,VIP2, PUBLIC IP1.

3). 用户对VIP2的连接请求会被IP层路由转到节点1

4). 因为在节点1上有VIP2的地址,所有数据包会顺利通过路由层,网络层,传输层。

5). 但是,节点1上只监听VIP1和public IP1的两个IP地址。并没有监听VIP2,故应用层没有对应的程序接收这个数据包,这个错误立即被捕获。

6). 客户段能够立即接收到这个错误,然后客户段会重新发起向VIP1的连接请求。

 VIP 特点:

1). VIP 是通过VIPCA脚本创建的

2). VIP 作为Nodeapps类型的CRS Resource 注册到OCR中,并由CRS 维护状态。

3). VIP 会绑定到节点的public 网卡上,故public 网卡有2个地址。

4). 当某个节点发生故障时,CRS 会把故障节点的VIP 转移到其他节点上。

5). 每个节点的Listener 会同时监听public 网卡上的 public ip 和VIP

6). 客户端的tnsnames.Ora 一般会配置指向节点的VIP.


您可能感兴趣的文档:

--结束END--

本文标题: Oracle RAC中的几个IP

本文链接: https://lsjlt.com/news/42132.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle RAC中的几个IP
    oracle11g开始,设置了SCAN ip,除此之外还有public ip,virtual ip,private ip,容易让人犯晕。下面逐一解释:public ip:   ...
    99+
    2024-04-02
  • oracle rac 修改private ip
     背景:由于rac环境私有ip网段和java应用冲突,因此需要修改私有ip的网段。修改前的privateip为10.10.2网段修改后的privateip为10.10.1网段节点一的信息:[roo...
    99+
    2024-04-02
  • Oracle RAC的Failover分为哪几种
    这篇文章主要介绍“Oracle RAC的Failover分为哪几种”,在日常操作中,相信很多人在Oracle RAC的Failover分为哪几种问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • Oracle 11g修改RAC SCAN IP
    Oracle 11g修改RAC SCAN IP   在11gR2中,引入了SCAN(Single Client Access Name)的特性,该特性的好处在于,在数据库与客户端之间,添加了一层虚...
    99+
    2024-04-02
  • oracle 11G RAC如何改IP
    这篇文章将为大家详细讲解有关oracle 11G RAC如何改IP,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 #host IP10.16...
    99+
    2024-04-02
  • 细说oracle 11g rac 的ip地址
            oracle11g开始,设置了SCAN ip,除此之外还有public ip,virtual ip,priva...
    99+
    2024-04-02
  • Oracle RAC怎么修改Scan IP,Public IP
    这篇文章主要讲解了“Oracle RAC怎么修改Scan IP,Public IP”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle RAC怎么修改...
    99+
    2024-04-02
  • Oracle RAC修改public, VIP, SCAN IP
    1. grid停止数据库, 停止集群 srvctl stop database -d orcl -o immediate srvctl stop listener 2. root停止CRS, 几个节点都...
    99+
    2024-04-02
  • ORACLE 11G RAC如何修改IP
    这篇文章给大家分享的是有关ORACLE 11G RAC如何修改IP的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。原IP:#Public IP192.168.42.201 rac1...
    99+
    2024-04-02
  • Oracle 11g RAC SCAN ip的原理及配置
    Oracle 11g RAC SCAN ip的原理及配置  Oracle 11g RAC网格即插即用(GPnP)工作原理:SCAN概念:    先介绍一下什么叫SCAN,SCA...
    99+
    2024-04-02
  • Oracle RAC学习之--OPS中的RAC Ping和RAC Cache Fusion
                           Oracle RAC学习之--OPS中的...
    99+
    2024-04-02
  • oracle 11G rac 环境下修改IP地址
    查看当前设置,以便保存现有设置。 以grid用户执行:$ORACLE_HOME/bin/oifcfggetif   [grid@orcl1 ~]$ /u01/app/grid/11.2.0/d...
    99+
    2022-02-19
    oracle 11G rac 环境下修改IP地址
  • Oracle 10g RAC修改IP/VIP地址示例
    一、准备工作1. 数据库信息操作系统版本  : OEL5.4 x64   数据库版本    : Oracle 10.2.0.5 x64 RAC2. IP地址...
    99+
    2024-04-02
  • 一个云服务器有几个ip
    如果您想知道一个云服务器上可以提供多少个IP地址,您需要知道您的云服务器使用的是哪种 IP 地址,以及您有多少台云服务器可供选择。一般来说,云服务器可能会提供多种 IP 地址类型,如 IPv4 地址、IPv6 地址、 MX 和 GRE 等。...
    99+
    2023-10-26
    有几个 服务器 ip
  • 云服务器有几个ip
    云服务器有很多ip地址,具体的ip地址范围取决于您的网络连接和云服务器所支持的技术和架构。 通常情况下,云服务器的主要提供商使用主机管理系统(例如Microsoft Azure、Amazon Web Services或Google Clo...
    99+
    2023-10-26
    有几个 服务器 ip
  • Oracle中RAC的用法介绍
    Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据...
    99+
    2023-10-22
    oracle rac oracle
  • oracle有几个实例
    oracle可以有一个实例或多个实例,具体取决于应用需求和配置,单实例适用于小型应用或少量并发请求的环境,而多实例适用于大型应用或需要处理大量并发请求的环境。多实例配置下的Oracle数据库可以通过集群技术实现高可用性和容错性。本文的操作环...
    99+
    2023-08-04
  • oracle有几个版本
    oracle有很多版本,最常见的四个版本分别是:1、Oracle Database Standard Edition标准版;2、Oracle Database Enterprise Edition企业版;3、Oracle Database ...
    99+
    2023-08-04
  • Oracle中ORACLE_SID,INSTANCE_NAME,DB_NAME几个名词的区别
    同事项目用到 Oracle,向我问起这些内容,虽本人忝列 OCP,但那是6年前的事了,这几年工作繁重,基本做了清零,受同事之托重新梳理了一遍。涉及到的名字包括如:DB_NAME,DB_DOMAIN,ORAC...
    99+
    2024-04-02
  • 一个云服务器可以分几个ip
    云服务器可以分为多个不同的ip地址段,这些ip地址段可以用于不同的应用程序,例如Web服务器或FTP服务器,以下是不同ip地址段的详细解释: IPv4 IPv6 ARP 例如,如果您的主机位于一个IPv4地址段(IPv4),则它可以使...
    99+
    2023-10-26
    几个 服务器 ip
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作