ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RAC concept 。讲点你不一定知道的东西

RAC concept 。讲点你不一定知道的东西

原创 Linux操作系统 作者:flying_warrior 时间:2011-04-23 00:04:52 0 删除 编辑

Rac concept

0 GRD

       每个SGA 都有一个BLOCK GRD。用来表示所有instance 的存活情况。

   

1 Past image 

 

  节点1 拥有block A  dirty 节点2 想要 于是通知GCS   GCS 得知节点1 拥有blockA 那么通知节点1 block传给节点2 节点1继续持有block for recover purpose  此时节点1block 称之为 past image  此时past image将不可更改。(在把block传给 节点2之前 block不会被写入硬盘

2.写入

 当一个块要求被写入时 无论是past image current block 持有者发出的,都会向GCS询问 谁有最新的,然后最新的块写入  past image 被通知可以不必持有for recovery了。

1.             Oracle ClusterWare level, which node in the cluster is the master?
2. then there is an OCR master,
3. at the database object level inside the instance/database used as part of cache fusion.

 

The one trick to find OCR master I used is:

ocrconfig -showbackup

The node that store OCR backups is the master node.

 

However, if the CSS (cluster) master node is of concern, a grep on the ocssd.log(s) will provide a better result:

[ CSSD]2008-04-25 22:50:19.489 [3020135344] >TRACE: clssgmHandleDBDone(): src/dest (2/65535) size(68) incarn 4
[ CSSD]CLSS-3000: reconfiguration successful, incarnation 4 with 2 nodes
[ CSSD]CLSS-3001: local node number 1, master node number 2

For the OCR master a grep on the CRSD.log would also work:
2007-08-02 10:14:51.880: [ OCRMAS][3020962736]th_master:12: I AM THE NEW OCR MASTER at incar 1. Node Number 1

 

3.crash 恢复

1.第一步 GES 重新为enqueue的东西分配masterGES负责维护dictionary cachelibrary cache缓存一致性(这个与LCK是不同的)。由于存在某个节点上对数据字典的修改(比如ddldclobject属性的修改)GES负责同步各 节点上的字典缓存,消除差异。GES确保请求访问相同对象的多个实例间不会出现死锁。

         2.然后GCS 为所有的object remaster。当然了 remaster 宕机的那一部分,在这个时间里,所有的GCS read and write request 全都暂时挂起,但是已经发生的事物则可以继续修改data block (修改至他们已经申请到的全部资源为止)。

         3.enqueues已经重新配置之后,剩余的实例将会持有实例recovery enqueue  同时 GCS 将会remaster  SMON 决定 需要recoveryblock set

         4.分配buffer space for recovery  多个实例不会重复恢复。

         5.解冻GRD ,未处于恢复状态的block也被解冻,文件系统 ready。如果一个past image 或者current image 需要recover 但是又不在任何存活的实例中,那么SMON 执行一个log merge SMON 将按照步骤3的方式恢复。并且在恢复之后解冻(模式是随机分配一个 master?)

         NOTElog merge  的性能和时间 取决于失败的实例数量和redo log size

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21818314/viewspace-693197/,如需转载,请注明出处,否则将追究法律责任。

上一篇: linux 的cache 机制
请登录后发表评论 登录
全部评论

注册时间:2009-06-21

  • 博文量
    49
  • 访问量
    79295