您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 上饶分类信息网,免费分类信息发布

甲骨文RAC原理分析-甲骨文高可用性理念

2022/8/19 9:01:37发布54次查看
甲骨文rac原理分析|甲骨文高可用性理念
单点数据库与远程访问
在单节点数据库中,如果实例关闭,如果服务链接到该实例,服务将被中断。此时,系统不可用,因此此时单个节点的可用性非常差。
对于rac而言,就像单个实例一样,它也是一个数据文件,与oracle在其上的存储相同,但同一数据文件由三个实例共享。这样做的好处是在三个实例之间建立了冗余,并且上述三个实例中的任何两个中断的服务都可以链接到剩余的一个,并且都可以正常工作。rac在实例级提供冗余。
rac不能解决数据安全问题。虽然有多个实例,但只有一个数据文件,所以只要数据文件损坏,整个数据库都会损坏。
什么是rac
通常,每个实例都放置在不同的服务器上,这可能会起到冗余的作用。所有数据库文件都放在共享存储上,但有些文件放在每个实例自己的本地磁盘上,如参数文件。每个实例都可以有自己的参数文件,可以放在本地或共享存储上。多个实例使用相同的参数文件。
在rac中,最重要的是实例之间的交互。即使实例是分开的,读取的数据也是一样的。rac不是分布式系统,因为它只有一个存储。分布式系统意味着数据发布在不同的数据库上,然后通过中间件协调查询。rac也是一个具有多个实例的数据库。
rac架构
对于rac,至少有两个物理上不同的网络,专用网络专门用于实例之间的数据交互。如果在专用网络中,所有数据都在一个网络下,那么就会影响数据,严重影响rac的性能。用于实例间数据传输的专用网络与外部服务提供的网络在物理上是分开的。因此,rac至少有两组网络,一组是实例之间的数据传输,另一组是提供外部服务的公共网络,外部服务提供公共网络到数据库的ip链接。
再生混凝土的特性
除了具有共同的数据库特征之外:
每个节点的实例都有自己的sga
每个节点的实例都有自己的后台进程
每个节点的实例都有自己的重做日志
每个节点的实例都有自己的撤消表空
每个节点实例都有自己的sga,但sga的数据块需要相互传输。
每个节点都有自己的redo,redo,redo是不共享的。尽管重做被放在共享磁盘上,但每个实例都有自己的重做。当实例2断开时,实例1可以通过实例2的重做信息来恢复。
每个实例都必须处理自己的一组事务,所以它需要使用自己的undo。
因此,在rac架构下,每个实例都有自己的东西。
rac是如何容错的
使用存储区域网络存储时,存储和服务器并不在一起,而是与服务器分开,这是一个网络存储系统,服务器就是服务器,存储就是存储,完全分开。
当节点1发生故障时,不仅服务会切换到节点2,节点1发生故障留下的问题也会在此时得到解决。主要是一些已提交和未提交的事务。例如,如果实例1中断,实例2将从实例1的重做中读取最后一个检查点之后的信息,即,实例1最终将所有数据写入磁盘之后生成的所有重做应用程序、此回滚的回滚以及此恢复的恢复。也就是说,由已提交和未提交事务生成的重做将首先被应用,因为它是最后一个检查点之后的信息,并且先前的信息已经被写入磁盘。所谓恢复就是恢复磁盘上没有写入的信息。(尽管实例已被破坏,但实例的重做并未被破坏,它被放在共享存储上,并且它的重做仍允许被其他实例访问。)实例2读取实例1的重做,然后再次应用它,然后回滚由未提交事务修改的数据块,这有点像实例的恢复。
rac后台流程
在单实例环境下,将会有比实例更多的几个进程。额外的进程用于确保rac环境下rac之间的交换,如锁之间的控制和资源交换。
与远程控制系统相关的后台进程-全局缓存服务进程全局缓存服务进程
lms进程是rac环境下处理全局缓存的最重要的进程。所谓的缓存是将数据从一个数据库实例交换到另一个数据库实例的过程。
lmd-全局排队服务守护程序全局查询服务守护程序
lmon-全局排队服务监视器全局查询服务监视过程
lck0-实例排队流程实例查询流程
diag(诊断守护程序)诊断守护程序
远程控制守护进程锁定监控进程
监控整个集群并维护gcs的内存结构。
处理异常终止的进程和实例。
当实例离开并加入集群时,锁和资源的重新配置。
管理全局锁和资源。
监控全局锁资源并处理死锁和阻塞。
也称为全局排队服务监视器
锁定监控服务
lms进程主要用于管理集群中数据块的访问,以及不同实例中的buffer cache
中的传输块镜像。
当数据块发生一致读取时,lms负责回滚数据块并将其复制到请求的实例。
每个rac节点至少有两个lms进程。或者gcs(全局缓存服务)进程。
lck -洛克过程
lck过程主要用于管理实例之间的资源请求和跨实例的调用操作,包括对数据字典和其他对象的访问。并处理非caceh fusion的chace资源请求(例如,字典缓存或行缓存请求)。因为lms进程负责主锁管理功能,所以每个实例只有一个lck进程。
可以看出,有如此多的进程与锁相关。归根结底,数据块从一个实例转移到另一个实例,保持一致性的基础是锁。只有通过锁,才能在两个实例之间保持数据块的一致性。
lmd锁监控守护进程
lmd进程主要管理对全局队列和资源的访问,并更新相应队列和进程的状态
来自其他实例的资源请求。
每个全局队列的当前状态存储在相应的实例共享内存中,这表示该实例
拥有相应的资源使用权。
在主机的共享内存中有一个特殊的队列,队列记录来自其他地方
进程实例资源请求,当远程实例的lmd进程发出资源请求时,该请求指向
主实例lmd,当主实例lmd进程收到请求时,在共享内存中
监视资源在特殊队列中是否无效,如果有效,lmd进程将更新资源对列的状态
并且如果资源队列正被其使用,则通知请求资源的lmd进程该资源队列可以被使用
他的实例正在使用或当前无效,lmd进程通知lmd进程它应该使用的实例
释放资源,当资源释放生效时,主实例的lmd过程更新资源团队
列,并通知请求资源实例的lmd进程可以使用资源队列。
diag(诊断守护程序)
oracle10g新的后台进程。
定期监控实例的运行状况,并监控实例是否挂起或死锁。
当实例和流程出错时,收集关键的诊断信息。
此过程将更新警报日志文件,并写入一些重要的警报信息。
以下是rac实例中的额外进程,以下是rac自己的进程。
独立于服务流程的客户关系管理系统
集群资源服务
群集同步服务
evmd事件管理服务
国家统计局-事件发布和订阅服务
此体系结构用于协调两个实例之间的存储访问,称为crs。在rac下,由于需要控制全局资源,实例不能直接访问存储,而必须通过crs层访问存储。(rac指的是由crs实现的体系结构,它由上述四种服务组成。)。
集群就绪服务
管理集群内高可用性操作的基本过程。
由crs管理的任何东西都被称为资源
数据库、实例、监听器、虚拟ip地址、应用程序进程等
客户关系管理系统根据存储在光学字符识别中的资源配置信息来管理这些资源
当资源的状态改变时,crs进程会生成一个事件。
群集同步服务
管理集群节点的成员资格
控制哪个节点是群集的成员,并在加入或离开群集时通知群集成员。
集群的配置信息
此过程的失败导致群集重新启动
evm -事件管理
事件管理守护程序。
发布crs创建事件的后台流程
国家统计局-甲骨文通知服务
通知事件的通信、发布和订阅服务的快速应用
oracle集群架构
oracle rac,oracle real application cluster的全称,是一个由oracle提供的并行集群系统。整个集群系统由集群就绪软件和实际应用软件组成。
oracle rac的本质是位于不同操作系统中的oracle实例节点可以同时访问同一个oracle数据库。每个节点都可以通过专用网络进行通信,并监控每个节点的运行状态。oracle数据库的所有数据文件、在线日志文件和控制文件都放在集群的共享设备上,可以是raw、asm、ocfs2等。所有群集节点都可以同时读写共享存储。oracle rac的基本拓扑结构如下。(raw是一种原始设备,没有文件系统,直接在硬盘上读写)。
该图分为三个部分,第一部分是客户端,第二部分是节点,最后一部分是共享存储。
作为用户,他们将访问集群数据库。节点级有许多节点,每个节点相当于一个主机或一个操作系统。每个操作系统都安装在服务器上,并且独立完成。底层是操作系统,即操作系统。集群件安装在操作系统的上层,是一种高可用性的集群软件。下一层是oracle rac数据库,它也开始rac侦听。每个节点都由操作系统、集群件和oracle rac侦听器组成
在10g之前,如果您想使用rac集群,您必须使用第三方高可用性软件。10g之后,甲骨文推出了自己的集群件,它可以使用甲骨文自己的软件,也可以使用第三方软件。
在每个节点上启动相关实例,每个实例将启动相关的侦听端口。该端口用于监听来自客户端的请求,并且在oracle集群中可以有多个节点。
共享存储是rac。有许多方法可以共享数据,例如原始数据和asm。
根据拓扑结构,一个oracle rac数据库由多个服务器节点组成,每个服务节点都有自己独立的操作系统、集群件、oracle rac数据库程序等。,每个节点都有自己的网络侦听器。集群件是一种集群软件,主要用于集群系统管理。oracle rac数据库程序用于提供oracle实例进程,为客户端提供对集群系统的访问。监控服务主要用于监控自己网络端口的信息。所有服务和程序都提供操作系统来访问共享存储,并最终完成数据的读写。共享存储有许多方法。自动存储管理(asm)、oracle集群文件系统(ocfs)、原始设备(raw)、网络共享区域存储(nas)等可以保证整个集群系统的数据一致性。
oracle rac数据库和经常提到的数据库有什么区别?oracle rac数据库主要为客户端访问集群系统提供oracle实例流程。从oracle操作机制的角度来看,集群中的每台服务器都是一个oracle实例,多个实例对应同一个oracle数据库,形成一个oracle数据库集群。
从图中可以看出,两个节点上运行的数据库访问同一个rac数据库,两个节点的本地磁盘仅存储oracle installer和clusterware软件,而共享存储存储oracle控制文件、数据文我就是阴阳先生有声小说件、在线日志文件、归档日志文件等。这是安装oracle rac时的一种数据存储方法。事实上,rac提供了多种数据存储方法。
群集中的每个服务器或节点都是一个oracle实例,多个节点或实例同时访问同一个数据库。从上图可以看出,节点的本地磁盘存储了oracle的安装程序和集群件集群软件的程序。oracle数据文件、控制文件、在线文件等都存储在共享存储上。
原始链接:
上饶分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录