oracle rac的特征
1. spfile
参数文件需要被所有节点访问,需要放在共享存储上。
2. Redo Thread
RAC 环境下有多个实例,每个实例都需要有自己的一套Redo log 文件来记录日志。这套Redo Log 就叫作一个Redo Thread。
RAC 中每个实例都要设置thread 参数,该参数默认值为0. 如果设置了这个参数,则实例启动时,会使用等于该Thread的Private Redo Thread。如果没有设置这个参数,则使用缺省值0,启动实例后选择使用Public Redo Thread,并且实例会用独占的方式使用该Redo Thread。
Redo Thread有两种: (rac 的 Thread n 号对应 instance n 号)
一种是Private 的,创建语法: alter database add logfile .. Thread n;
一种是public,创建语法:alter database add logfile...;
3. Archived Log
归档日志可以放在本地或者是共享设备,推荐放在共享设备上。
4. datafile
Oracle rac 数据文件必须放在共享存储上,能被所有节点访问。
5. Undo Tablespace
RAC 环境下,每个实例都需要有一个单独的回滚表空间,这个是通过参数SID.undo_tablespace 来配置的。
6. Cache Fusion, GCS, GES 关系
Cache Fusion(内存融合)是通过高速的Private Interconnect,在实例间进行数据块传递,它是RAC 最核心的工作机制,它把所有实例的SGA虚拟成一个大的SGA区。每当不同的实例请求相同的数据块时,这个数据块就通过Private Interconnect 在实例间进行传递。整个Cache Fusion 有两个服务组成:GCS 和GES。 GCS 负责数据库在实例间的传递, 由后台进程LMSn完成。GES 负责锁管理,保证数据的一致性访问,由后台进程LMD完成。
7. DRM(Dynamic Resource Management)是oracle 10g的一个新特性,在oracle rac环境中,ORACLE使用GRD(Global Resource Service)来记录各个节点的资源信息,具体是通过GCS(Global Cache Service)和GES(Global Enqueue Service)这两个服务进行管理。由于RAC中每个节点都有自己的SGA和buffer cache,为了保证所有节点cache 资源的一致性和高性能。GCS和GES会指定RAC中的某一个节点的实例来管理cache,这个节点就是Resource Master。当rematering或改变主节点只会发生在重新配置,会自动在两个正常操作实例启动或实例关闭,异常节点就是被集群踢出。所以当以节点A作为主节点是也就是 Resource Master时,这个资源就掌握在节点A中,直到被重新配置。
8. 等等。。