【Oracle之RAC介绍】
RAC是real application clusters的缩写,译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。
数据库系统和其他数据管理很重要的一个区别就是 允许并发访问
最大挑战是 数据不一致 如何保证并发和数据一致是数据库系统的核心 并发访问和数据一致性: 数据不一致的情况 1 脏读 2 不可重复性 3 幻影读 4 数据一致性 事务和隔离级别 四种数据一致性级别:隔离级别 read uncommited:不希望“写”阻塞“读”。 read committed:允许“写”阻塞“读” repeatable: 目的是避免“不可重复读”和“丢失数据” seralizable: 保证用户以独占方式访问数据 Oracle支持的隔离界别:read committed,seralizable,Read Only 为了便于学习和理解,将RAC环境分为 存储层、网络层、集群层、应用层 4层来分别学习。 存储层 网络层 private IP:集群内部互联IP,大数据量、低延迟要求,预算低用G级以太网,预算高用infiniband。 集群层 应用层 RAC中的特点是: 每一个节点的instance都有自己的SGA 每一个节点的instance都有自己的background process 每一个节点的instance都有自己的redo logs 每一个节点的instance都有自己的undo表空间 所有节点都共享一份datafiles和controlfiles 还提出了一个缓存融合的技术(Cache fusion) 目的有两个 01.保证缓存的一致性 02.减少共享磁盘IO的消耗 因此在RAC环境中多个节点保留了同一份的DB CACHE 缓存融合(Cache fusion)工作原理: **************************************** 01.其中一个节点会从共享数据库中读取一个block到db cache中 02.这个节点会在所有的节点进行交叉db block copy 03.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改 04.为了达到存储的一致最终修改的结果也会写到磁盘上 ClusterWare组件 ******************* 四种Service Crsd -集群资源服务 Cssd - 集群同步服务 Evmd - 事件管理服务 oprocd - 节点检测监控 三类Resource VIP - 虚拟IP地址(Virtual IP) OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息 Voting Disk - Establishes quorum (表决磁盘),仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。 RAC的组件 ************ 提供过了额外的进程,用来维护数据库 LMS - Global Cache Service Process 全局缓存服务进程 LMD - Global Enqueue Service Daemon 全局查询服务守护进程 LMON - Global Enqueue Service Monitor全局查询服务监视进程 LCK0 - Instance Enqueue Process 实例队列进程 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |