Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2796341
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2010-09-28 11:52:43

  
                                  latch wait posting
 
 当一个进程在pin之后,还不能获得一个latch时,就进入了sleep了。由_max_sleep_holding_latch(一个进程持有一个latch时的最大休眠时间,以防止其他进程在等待这个latch的时间过长)控制,_max_exponential_sleep(表示一个进程在sleep的时间,如。1,1,2,2,4,4。defulat为2秒)在进入sleep之前这个进程必须把自己放到latch的latch waiting list上,这样当持有latch的进程在free latch时候,就会把检查这个队列,如果发现在latch waiting list上有进程等待,就会设置等待的进程的semaphore,这样这个等待的进程就可以立即进入了CPU的就绪队列,如果没有这种结构来,那么等待的进程会继续sleep,直到再次醒来,通过这种结构可以在latch请求进程之前快速的进行切换从而提高了性能。_latch_wait_posting这个参数用来定义在哪些结构上使用latch waiting post,default为1,表示在dictionary和row cache上的相关latch使用这种结构,也可以设为2,表示除cache buffer chain之外的所有latch都使用这种结构。当然使用2也会带来一定的管理上的开销,所以在调整此参数时需要特别小心。在10G以后这个参数已经被抛弃掉了。
 
 
阅读(2685) | 评论(1) | 转发(0) |
0

上一篇: 使用PIPE进行rman备份

下一篇:表的碎片化

给主人留下些什么吧!~~

chinaunix网友2010-09-28 15:50:49

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com