oracle rac架构解读

news2024/10/6 0:35:35

一、oracle 数据库架构
单节点数据库,如果实例宕机了,如果一个业务链接在实例上面,那么这个业务就中断了。这个时候系统就不具有可用性了,那么这个时候单节点的可用性是很差的。
对于RAC来说,和单实例一样,还是一份数据文件,都是相同的存储上面放着oracle的文件,但是是由三个实例共用同一份数据文件。这样的好处是在三个实例之间做了冗余。
data guard可以实现物理备份,将redo日志同步然后应用,也可以实现逻辑备份先将redo日志转换成sql然后再执行,逻辑备份有较高的多平台可移植行。
二、rac系统架构
在这里插入图片描述
其中的存储可参考该篇rac安装教程(nfs+asm)
其中clusterware是oracle实现集群的软件:
ORACLE Clusterware 有以下几个组件:
1、OCR Oracle Cluster Registry 为了解决集群“健忘”的问题,最简单的解决办法就是整个集群只 有一份配置,所有节点共用这份配置。ORACLE采用的方法就是把这个配置文件放在共享存储上,这个文件 就是OCR DISK。 节点通过OCR Process读写OCR。 但只有一个节点能够读写OCR DISK 叫OCR Master节点,其它节点 通过本节点的OCR process 向master node的OCR process提交请求,由master OCR Process 完成物理读写,并同步所有节点OCR cache中的内容。(配置不同步)
2、Voting Disk 这个文件主要用于记录节点中成员状态,在出现脑裂时,仲裁那个Partition获得集群的控制权
3、Cluster Synchronization Service(css) : CSS 服务 通过 多种心跳机制 实时监控集群的健康状态,提供脑裂保护等集群服务功能
CSS服务有二个心跳机制:私有网络的Network Heartbeat 用于监控节点之间的健康状态(超时阈值参数MisCount MC) ,通过Voting Disk 的Disk Heartbeat (超时阈值参数IO timeout IOT) 。用于监控是否有访问共享存储的IO故障如HBA卡故障,SAN交换机或者存储的线缆损坏导致I/O超时。
这两个心跳机制决定节点是否应驱逐。下面描述了驱逐行为发生的条件:
(1) 都不超时,不会驱逐
(2) 网络PING在MC时间内完成 ,磁盘ping超过了MC,但是在 IOT内,也不会驱逐
(3) 网络ping在MC时间内完成,磁盘ping超过了IOT,则节点被驱逐
(4) 网络ping超过MC设置,磁盘ping在MC内完成,节点也会被驱逐
4、Cluster Ready Service CRS管理的任何事物被称之为资源,它们可以是一个数据库、一个实例、一个监听、一个虚拟IP(VIP)地址、一个应用进程等等。CRS是根据存储于OCR中的资源配置信息来管理这些资源的。这包括启动、关闭、监控及故障切换(start、stop、monitor及failover)操作。当一资源的状态改变时,CRS进程生成一个事件。当你安装RAC时,CRS进程监控Oracle的实例、监听等等,并在故障发生时自动启动这些组件。默认情况下,CRS进程会进行5次重启操作,如果资源仍然无法启动则不再尝试。集群的高可用HA就靠它了
5、Event Manager Service 负责发布CRS产生的各种事件
6、Oracle Notification Service(ONS):FAN Fast Application Notification事件的发布及订阅服务
7、RACG 为clusterware进行功能扩展以支持Oracle的特定需求。它在FAN事件发生时执行服务器端的调用脚本(server callout script)
8、Process Monitor Daemon: 监视集群和提供I/O隔离(fencing)
在这里插入图片描述
二、rac网络架构
在这里插入图片描述
1、 VIP IP
我们先说一下PUBLIC和VIP Oracle RAC中每个节点都有一个虚拟IP,简称VIP, 与PUBLIC IP在同一个网段。vip 附属在public网口接口。 VIP和PUBLIC IP最主要的不同之处在于:VIP是浮动的,而PUBLIC IP是固定的。在所有节点都正常运行时,每个节点的VIP会被分配到public NIC上;在linux下ifconfig查看,public网卡上是2个IP地址;如果一个节点宕机,这个节点的VIP会被转移到还在运行的节点上。也就是幸存的节点的public NIC这个网卡上,会有3个IP地址。

2、 Private IP
再看RAC中的 Private RAC中的 Private私有IP用于心跳同步,这个对于用户层面,可以直接忽略。这个Ip用来保证两台服务器同步数据用的,属于RAC内部之间通信。priv 与public 不应同属一个接口。

3、 SCAN IP
RAC中的SCAN IP 在11gR2中,SCAN IP是作为一个新增IP出现的, scan ip其实是oracle在客户端与数据库之间,新加的一个连接层,当有客户端访问时,连接到 SCAN IP LISTENER, 而SCAN IP LISTENER接收到连接请求时,会根据 LBA 算法将该客户端的连接请求,转发给对应的instance上的VIP LISTENER,从而完成了整个客户端与服务器的连接过程。简化如下: client -> scan listener -> local listener -> local instance 也可以把scan理解为一个虚拟主机名,它对应的是整个RAC集群。客户端主机只需通过这个scan name即可访问数据库集群的任意节点。当然访问的节点是随机的,oracle强烈建议通过DNS Server的round robin模式配置解析SCAN,实现负载均衡(即轮换连接SCAN对应的IP地址)。这有点类似通过vip和listener loadbalance配置实现负载均衡的原理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/648842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新榜 | 小红书美妆用户趋势洞察报告

目前,小红书上聚集了大量年轻、高知的女性美妆用户,她们倾向于在小红书平台分享美妆护肤产品和使用经验,用户间的互动、分享氛围浓厚;而这些评论互动也传递了用户的真实诉求,理解用户的关注点对于企业和品牌来说将具有…

Vue中如何进行数据导入与Excel导入

Vue中如何进行数据导入与Excel导入 Vue是一款非常流行的JavaScript框架,它提供了一套用于构建用户界面的工具和库。在Vue中,我们可以使用多种方式来导入数据,包括从服务器获取数据、从本地存储获取数据、从文件中读取数据等等。其中&#xf…

如何提高职场沟通能力

如何提高职场沟通能力 在现代职场中,良好的沟通能力不仅有助于我们更好地完成工作任务,还能提高团队协作效率,降低矛盾和误解。本文将为你提供一些建议和技巧,帮助你提高职场沟通能力。 1. 倾听 倾听是沟通中最重要的技能之一…

社招准备和面试题

这次就整理下这次社招都做了哪些准备以及自己面试过的题目。 首先就是专业知识的准备,看了很多常用的机器学习算法,并对其算法做了推导。看了深度学习推荐系统这本书里面的模型,对自己简历中涉及到的模型重点掌握,比如DIN、DIEN、…

创客匠人6月功能更新:服务商管理、直播、学员版APP全新上线

创客匠人6月功能更新,包括服务商管理、直播、学员版APP、圈子、商城、店铺等众多产品升级,我们一起来看看吧。 正式升级时间:6月20日 一、服务商管理 1.服务商模块排版优化:支持查看整个团队的用户信息和业绩明细。 2.支持记…

嵌套滚动实践:onInterceptTouchEvent与NestedScrolling【实用为准】

嵌套滚动:内外两层均可滚动,比如上半部分是一个有限的列表,下半部分是WebView,在内层上半部分展示到底的时候,外部父布局整体滚动内部View,将底部WevView拉起来,滚动到顶部之后再将滚动交给内部…

SQL Server 无备份情况下误操作数据恢复(3)

原文链接:https://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了。人非圣贤孰能无过,做错可以理解…

Verilog 高级知识点---状态机

目录 状态机 1、Mealy 状态机 2、Moore 状态机 3、三段式状态机 状态机 Verilog 是硬件描述语言,硬件电路是并行执行的,当需要按照流程或者步骤来完成某个功能时,代码中通常会使用很多个 if 嵌套语句来实现,这样就增加了代码…

2DUI跟踪3D模型,更精准的嵌套与跟踪

实现的效果: 1、2DUI跟踪模型指定位置,跟随模型移动 2、2DUI时刻面向摄像机 首先准备一个模型。如下图: 在此模型层级下新建Canvas(画布) 改显示模式为世界空间 在canvas下创建Image(图像) 放…

包看包会Stable Diffusion原理,新手也能看明白

知道看文章的人怎么看,听我讲的人经常反应的就是听不明白。于是我又在网上找了一下,发现这篇文章讲的很好,算得上是深入浅出,可惜是英文的,就把它翻译了一下: https://stable-diffusion-art.com/how-stabl…

一次过!快速申领软件著作权

文章目录 一次过!快速申领软件著作权1 软件著作权的定义2 申请流程2.1 准备申请材料2.2 登录软著局申请系统并进行填写2.3 审核2.4 补正和修改申请材料2.5 接受核准并领证 3 申请材料4 注意事项5 总结 一次过!快速申领软件著作权 申领软件著作权是保护软…

【Nexus】Nexus创建Maven私服

目录 一、前言二、创建Blob Stores1、在创建Repository之前,设定一个文件存储目录Blob,方便后序管理2、选择创建的Blob类型为File,根据需要选择是否超出约束时进行报警,以及约束类型和约束限制3、成功创建好的页面 三、创建Reposi…

如何快速翻译ppt文档?分享几个实用的文档翻译方法

想必你也曾有过这样的困扰:在工作或学习中,需要阅读外语PPT的内容,但是却遇到了语言障碍,无法流利地理解其中的意思。这时,我们就需要翻译ppt的软件来帮助我们解决问题。那么,翻译ppt的软件哪个好呢&#x…

【LeetCode热题100】打卡第22天:编辑距离颜色分类

文章目录 【LeetCode热题100】打卡第22天:编辑距离&颜色分类⛅前言 编辑距离🔒题目🔑题解 颜色分类🔒题目🔑题解 【LeetCode热题100】打卡第22天:编辑距离&颜色分类 ⛅前言 大家好,我是…

Vue杂记:全选多个选择框

可以使用 v-model 来绑定一个布尔类型的变量来实现全选多个选择框的功能。具体步骤如下: 在data中定义一个数组,用来存储所有需要选择的项的状态。 在模板中使用 v-for 指令循环渲染每个选择框,并将每个选择框的状态绑定到数组中对应的项上。…

关于文件操作工具类及readLine()方法

这里写自定义目录标题 一:文件流通用操作工具类二、工具类讲解三、拓展报错解决 一:文件流通用操作工具类 package com.zkyq.file.common.utils;import com.zkyq.common.utils.DateUtils; import com.zkyq.file.common.service.EleRealDataService; imp…

报表生成器FastReport .Net用户指南:“Line“对象及属性

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。 FastReport.NET官方版…

Maven入门

目录 1.为什么要学习Maven 1. 作为jar包的管理工具 2.作为构建管理工具 3.结论 2.什么是Maven 1. 构建包含的主要环节 2.依赖 3.Maven的工作机制 3.Maven的核心概念: 1.坐标 2.POM 3.约定的目录结构 4.生命周期 5.插件与目标 6.仓库 4.Maven操作 5…

现实版“超级英雄”!外卖小哥从10余米高桥纵身跳下救人

“我心里也很怂啊,但个人害怕跟别人的命比起来,肯定是救人要紧,人命关天的事,还用想吗?” 这是一位勇敢外卖小哥在接受媒体采访时说的。 语言虽朴实无华,却道出了一个重要的价值观:人命关天&…

APP测试面试题快问快答(四)

16.App测试的实时日志如何获取? 考察点:是否有移动app测试的日志获取相关经验 一般可以通过以下方式获取: 1.可以使用adb命令:adb logcat | findstr "com.sankuai.meituan" >d:\test.txt 2.用ddms抓取&#xff0…