在一个应用情形傍边,所有的处事器使用和打点统一个数据库,目的是为了分手每一台处事器的工作量,硬件上至少需要两台以上的处事器,而且还需要一个共享存储设备。同时还需要两类软件,一个是集扰敉件,此吐矣闽就是Oracle数据库中的RAC组件。同时所有处事器上的OS都应该是统一类OS,按照负载平衡的设置装备摆设策略,当一个客户端发送请求到某一台处事的listener后,这台处事器按照我们的负载平衡策略,会把请求发送给本机的RAC组件措置也可能会发送给此外一台处事器的RAC组件措置,措置完请求后,RAC会经由过程集扰敉件来访谒我们的共享存储设备。3 L! I+ c5 P) L
逻辑结构上看,每一个加入集群的节点有一个自力的instance,这些instance访谒统一个数据库。节点之间经由过程集扰敉件的通信层(communication layer)来进行通信。同时为了削减IO的耗损,存在了一个全局缓存处事,是以每一个数据库的instance,都保留了一份不异的数据库cache。
; F$ D. \! ]8 N; T+ d0 P RAC中的特点是:7 w7 y# n* @5 c+ U) E: Y$ P
每一个节点的instance都有自己的SGA0 x5 e7 T3 A8 L$ F ~
每一个节点的instance都有自己的background process; r2 [/ w6 i8 V7 F' z3 N
每一个节点的instance都有自己的redo logs
# L: d6 `8 P0 U+ J' F2 U+ k5 {! t 每一个节点的instance都有自己的undo表空间
2 h' P/ x% k3 T9 O8 q; j& L 所有节点都共享一份datafiles和controlfiles; T' I6 W( C: w! \! d7 b
Oracle还提出了一个缓存融合的手艺(Cache fusion)& \$ Y; b6 h% G/ A& F/ T K x
目的有两个
% i5 ~9 \' W+ s7 j: R 1.保证缓存的一致性IXPUB手艺博客
) T5 _% z# g' L& k1 i 2.削减共享磁盘IO的耗损IXPUB手艺博客
# u" ?5 F, ^/ | 是以在RAC情形中多个节点保留了统一份的DB CACHE; W6 X1 _+ @' _" s2 ~! \7 Q
缓存融合(Cache fusion)工作事理:! Q- k% D3 ?1 m1 Y! L ?: m2 A
****************************************
+ I4 ]2 K# w$ k 1.其一一个节点会年夜共享数据库中篡夺一个block到db cache中
+ g8 G: v4 G" U 2.这个节点会在所有的节点进行交叉db block copy& d9 u( m. E+ u6 J4 b
3.当任何一个节点缓存被改削的时辰,就会在节点之间进行缓存改削
2 i" J& U7 O& B7 H 4.为了达到存储的一致最终改削的结不美观也会写登张逄上+ `: s$ L) O2 {- N8 {) i, t
ClusterWare组件
7 Q% w- n' i7 l( X$ y0 y* ^/ y *******************
3 @1 |9 S7 x( x- u 有四种Service* f* d: W, s+ @2 }2 [$ A, S
Crsd - 集群资本处事' ]3 a- g& ?$ ~) d4 E. w
Cssd - 集群同步处事
9 ?1 F& y; l7 T$ h Evmd - 事务打点处事" Y; r7 f9 P. A9 `* r' J$ ~, y2 ^, N
oprocd - 节点检测监控
$ \9 z8 e. [# Q2 m5 U T- C 有三类Resource3 d1 f( }/ u& ]2 Q6 k0 C
VIP - 虚拟IP地址(Virtual IP)) M& q: ^2 P, ]& v: ]1 f$ Y
OCR - Oracle Cluster Registry(集群注册文件),记实每个节点的相关信息" k2 @% H' i B9 ?* o U
Voting Disk - Establishes quorum (表决磁盘),仲乘隙制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。% q& E# D+ ?' S
RAC的组件
! {5 [% N4 y/ o' y ************5 L0 o9 b9 z: ]3 [0 k8 n5 Q
供给过了额外的历程,用来维护数据库5 c: k( j Q, R0 e) n! \0 \7 b$ ^
LMS - Gobal Cache Service Process 全局缓存处事历程
. R$ F% _3 U, B9 S$ m LMD - Global Enqueue Service Daemon 全局发芽处事守护历程
) ^6 T3 L8 \( n* D/ g& Z8 B+ h LMON - Global Enqueue Service Monitor全局发芽处事看管历程
/ W W2 C6 R L; ~- U. } LCK0 - Instance Enqueue Process 实例发芽历程 |