首页 > 数据库 >Oracle RAC SCAN ip的原理、配置及优缺点

Oracle RAC SCAN ip的原理、配置及优缺点

时间:2024-01-27 23:56:09浏览次数:38  
标签:RAC SCAN ip oracle VIP IP Oracle 节点

在oracle 11g中,SCAN IP还用的很少。到oracle 12.2或者19c,用户已经基本上清一色的切换到了SCAN IP。所以很有必要理解oracle的SCAN IP运行机制和配置。

先回顾下VIP

  RAC的每个节点都需要有一个虚拟IP,这就是VIP。VIP需要和PUBLIC IP同一个子网,它们是由GI的Clusterware来管理的。VIP在其节点服务器发生故障的时候会自动漂移到另外正常的节点服务器上,如果RAC是多个节点运行的,那具体漂移到哪个活动的节点将由Clusterware决定。VIP发生漂移现象之后,其当前的节点服务器LOCAL LISTENER是不会监听它的请求的,所以有客户端向这个VIP发送请求时,Clusterware的FAN会通知客户端向别的VIP发送请求,客户端收到通知后通过Failover机制把请求重新发送到ADDRESS列表中的其他VIP上,如下所示:

Oracle Clusterware manages VIPs as a node application. When Oracle Clusterware discovers that a node has failed, it will relocate the VIP to one of the remaining nodes. A promiscuous ARP packet is broadcast to inform clients that the MAC address for the VIP has changed.
The relocated VIP does not forward incoming connections to the listener; instead it immediately sends back a failure message to the client. The client can then immediately failover to an alternate address. In the above slide, node 1 has crashed. Oracle Clusterware relocates VIP1 to node2. When the client attempts to connect using VIP1 it receives an error message; when it attempts to connect using VIP2 the connection is forwarded to the listener

Applications that connect to Oracle database in Oracle Clusterware  should connect using the VIP address and not the public IP address
The VIP address maps to the MAC address of the adapter. It is possible to use Oracle VIPs with bonded/teamed NICs.

虽然有这种较复杂的过程,但始终对客户端是透明进行的,而且这个过程完成时间非常短暂,客户端也就几乎感受不到有节点宕机。等故障节点恢复正常,漂移的VIP也回到此节点上,继续提供服务。

VIP的优点在于相比TCP,客户端感知失败的时间更短、不需要等待TCP超时。

 

 TAF是OCI的特性,虽然可以做到透明(指的是不需要应用端做reconnect)的failover(针对查询,DML事务还是回滚),因为大部分都不使用oci模式(尤其是jdbc,虽然支持oic),而是应用去做连接池自动重连,所以不展开。 

SCAN IP

  有了scan ip后,客户端连接scan listener,scan listner根据负载均衡算法找到负载最低的实例监听,然后将请求转发给实例的本地监听,后面就和VIP一样了。scan ip和scan listener总是配对、且由clusterware随机分派到各个节点,SCAN IP最多有3个(1或2个也是可以的)。所以相比VIP而言,客户端failover的时候,只要实例通过PMON将监听信息注册到新的SCAN lisenter后,就不用和VIP一样,原实例未恢复、就不得不一个个重试(VIP的时候不配置failover就没有高可用了,SCAN IP下就不用非得配置,而且走DNS后更是只要配置1个即可,当然配置多个SCAN IP也是可以的),可以认为降低了failover恢复的时间。

总结起来(推荐):

  • 配置SCAN域名(负载均衡不需要,没意义)
  • 配置多个SCAN IP(负载均衡最好配置,不推荐使用SCAN IP)

oracle初始化参数LOCAL_LISTENER

该参数指定了数据库PMON进程需要将数据库实例注册到哪个端口,如果没有设置这个参数,PMON进程默认将数据库的服务注册到本地节点的1521端口。

SQL> show parameter local_listener;
NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
local_listener                 string      (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.199.157)(PORT=1521))

oracle初始化参数REMOTE_LISTENER

该参数指定了除了本地监听程序以外,PMON需要把本地实例的服务注册到何位置
例如:在RAC系统中这个参数,意为将本地实例的数据库服务注册到集群其他节点的监听程序或SCAN监听程序上。

SQL> show parameter remote_listener;
NAME                     TYPE          VALUE
------------------------------------ ----------- ------------------------------
remote_listener              string          rac-scan:1521
根据以上的设置,PMON会将本地实例的服务注册到SCAN-rac的1521端口。
其中SCAN-rac是一个可以通过DNS或/etc/hosts文件解析的名称。

 

修改单SCAN IP为双SCAN IP

单SCAN IP修改为三SCAN IP

oracle各种IP https://www.modb.pro/db/13380

https://www.oracle.com/docs/tech/database/scan.pdf https://www.oracle.com/webfolder/technetwork/tutorials/architecture-diagrams/19/rac/pdf/rac-19c-architecture.pdf

https://www.cnblogs.com/wlzjdm/p/6700678.html

https://blog.csdn.net/jim_cainiaoxiaolang/article/details/77153296

Client Failover Best Practices for Highly Available Oracle Databases Oracle Database 12c

oracle rac启动顺序介绍

标签:RAC,SCAN,ip,oracle,VIP,IP,Oracle,节点
From: https://www.cnblogs.com/lightdb/p/13806170.html

相关文章

  • m基于FPGA和IP核的RS编译码verilog实现,包含testbench测试文件
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,测试结果如下:    2.算法涉及理论知识概要       在现代通信系统中,为了确保数据传输的可靠性,经常需要使用各种纠错编码技术。其中,里德-所罗门(Reed-Solomon,RS)码是一种非常强大的线性纠错码,特别适用于纠正多......
  • oracle启动服务命令
    启动Oracle服务的方法有多种,以下是其中几种常见的方法:1、使用命令行启动服务: 在Windows系统中,打开命令提示符窗口,输入以下命令: shell复制代码 netstartOracleService<ORCL实例名称>在Linux系统中,启动服务的命令有所不同,具体可以参考Oracle的......
  • 详解'unicodeescape' codec can't decode bytes in position 16-17: malformed \N ch
    详解'unicodeescape'codeccan'tdecodebytesinposition16-17:malformed\Ncharacterescape在Python的字符串处理中,有时候可能会遇到如下错误信息:'unicodeescape'codeccan'tdecodebytesinposition16-17:malformed\Ncharacterescape。本篇文章将详细解释这个错......
  • NOIP2023 游记
    记忆已经不太清晰,所以写的不多。终究还是懒,现在才开始写游记。先说战绩,146,1=线153,遗憾离场。考前一天晚上让zxy给买了点零食,他的品味还是不错的。跟他讨了一包陈皮味的压片糖,有点涩。晚上去历城二中试机,实际上键盘不错,和我们平常用的差不多,我看桌面上有vscode,但是没装插件......
  • JavaScript DOM对象的尺寸和位置详解
    在DOM对象操作中,其尺寸和位置也是DOM的核心内容,因为js的“交互式应用”几乎少不了对DOM对象的尺寸和位置进行操作,特别是js动画效果。一、关于DOM对象的尺寸和位置介绍DOM对象的尺寸和位置的属性DOM对象的属性描述obj.scrollWidth和obj.scrollHeightDOM对象的内部实......
  • JavaScript DOM之Cookie详解
    cookie有的地方习惯使用复数形式的cookies,指的是网站为了识别用户的身份或者进行一些必要数据的缓存而使用的技术,它的数据是存在用户的终端上,也就是在浏览器上的。一、什么是cookie随着互联网的不断发展各种基于互联网的服务系统逐渐多了起来,我们常常需要记录访问者的一些信息,比......
  • JavaScript DOM对象的尺寸和位置详解
    在DOM对象操作中,其尺寸和位置也是DOM的核心内容,因为js的“交互式应用”几乎少不了对DOM对象的尺寸和位置进行操作,特别是js动画效果。一、关于DOM对象的尺寸和位置介绍DOM对象的尺寸和位置的属性DOM对象的属性描述obj.scrollWidth和obj.scrollHeightDOM对象的内部......
  • JavaScript DOM之Cookie详解
    cookie有的地方习惯使用复数形式的cookies,指的是网站为了识别用户的身份或者进行一些必要数据的缓存而使用的技术,它的数据是存在用户的终端上,也就是在浏览器上的。一、什么是cookie随着互联网的不断发展各种基于互联网的服务系统逐渐多了起来,我们常常需要记录访问者的一些信息,......
  • Apipost数据库连接使用
    Apipost提供了数据库连接功能,在接口调试时可以使用数据库获取入参或进行断言校验。目前的Apipost支持:Mysql、SQLSever、Oracle、Clickhouse、达梦数据库、PostgreSQL、Redis、MongoDB8种数据库的连接操作新建数据库连接:在「项目设置」-「公共资源维护」-「连接数据库」中配置需......
  • 佳能F-789SGA升级与超频——互联网Tips存档
    佳能F-789SGA简介佳能F-789SGA是一款性价比极高的科学函数计算器,功能与卡西欧fx-991ES近似,稍强于991ES,弱于991CNX。来自電卓院亜紀良的评价来自杨高峰的对比总结来自贴吧光卡的注意事项参考来源1参考来源2佳能F-789SGA升级792S简单地说,小心拆开后盖,移除R6......