ITPub博客

首页 > 数据库 > Oracle > enqueue, latch的理解及区别

enqueue, latch的理解及区别

原创 Oracle 作者:freshairpeng 时间:2014-04-03 09:08:00 0 删除 编辑
enqueue, latch的理解:

Enqueue: 可以理解为门外的一把锁,主要是针对业务应用层面的,用于保证业务操作的完整性,主要特征表现为队列性,就是要求所有的进程排队,不能乱来,  就是你要默默等待,只有轮到你,等待到你需要的资源后,你才能进行相关的操作,要不就只能等待。

Latch: 可以形象的理解为打开门后,进入门里后,里面的一个门闩 ,主要针对数据库资源层面,保证资源的完整性,当你获得这个资源后,你就用闩栓上,别人就不能用了。主要目的如下:
1:保证资源的串行访问 --- 保护SGA的资源访问,---保护内存的分配
2:保证执行的串行化 --保证关键资源的串红执行,--防止内存结构损害。

比较形象的比喻如下:

Enqueue:  好像学校里排队打饭,大家都要按照顺序来打饭,不能随便乱抢,只有前面的那个打完饭,后面的才能来。
Latch: 好像池塘里的鱼,如果突然有人往里面丢食品后,就会非常混乱,大家拼命的抢,谁抢到就是谁的。

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

请登录后发表评论 登录
全部评论

注册时间:2009-02-25

  • 博文量
    69
  • 访问量
    246488