Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

48

主题
1#
发表于 2013-8-28 13:55:28 | 查看: 2451| 回复: 1
http://www.askmaclean.com/archives/oracle-latch%E9%97%A9%E5%8E%9F%E7%90%86%E7%A4%BA%E6%84%8F%E5%9B%BE.html
刘大的这个帖子里面写的脚本,表示v$latch.gets是在willing-to-wait模式下取得成功之后才会加1

reference里面是写说Number of times the latch was requested in willing-to-wait mode,并没有说是成功取得latch才加1;
所以有点疑惑
  1. Function Get_Latch(latch_name,mode)
  2. {
  3.   If Mode eq ‘immediate’ {
  4.     If Fast_Get(latch_name) {
  5.       return TRUE
  6.     Else {
  7.       return FALSE
  8.     }
  9.   }
  10.   Else {
  11.    [color=Red] If Fast_Get(latch_name)
  12.     Then {
  13.       v$latch.gets++
  14.       return TRUE
  15.     }[/color]
  16.     Else {
  17.       v$latch.misses++
  18.       for try = 0 .. large_number
  19.       {
  20.         if Spin_Get(latch_name)
  21.         Then {
  22.           return TRUE
  23.         }
  24.         Else {
  25.           T0 = time
  26.           Sleep(try)
  27.           T1=time
  28.           Register_Event("latch free",T1-T0)
  29.         }
  30.       } -- spin/sleep loop
  31.     }
  32.   }
  33. }
复制代码
2#
发表于 2013-8-28 14:11:29
reference 不需要你懂太多内部的原理,reference 不需要你懂太多的原理


latch属于高级话题

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-17 19:58 , Processed in 0.046625 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569