251 cache buffers chains 1997 2
578 cache buffers chains 3857 2
733 cache buffers chains 3554 2
280 cache buffers chains 4549 2
已选择20行。
看来837号cbc 子锁存器争用比较多,可以判定是比较热的块。
我们也可以通过v$latch_children视图,确定热块的cbc 锁存器的地址:SQL> select * from
2 (select latch#,child#,addr,gets,sleeps from v$latch_children
3 where name='cache buffers chains'
4 order by sleeps desc
5 )where rownum<=20;
LATCH# CHILD# ADDR GETS SLEEPS
---------- ---------- -------- ---------- ----------
116 894 6CB7F7F0 554344 90
116 837 6CFFF70C 727379 80
116 951 6CB839D8 471117 74
116 56 6C783224 107910 60
116 341 6C797BAC 144056 47
116 458 6C7A02F4 37434 38
116 240 6C7906E4 99251 37
116 297 6C7948CC 98903 36
116 566 6C7A7FD4 94932 36
116 790 6CFFC0B4 107997 36
116 280 6C793524 87455 34
LATCH# CHILD# ADDR GETS SLEEPS
---------- ---------- -------- ---------- ----------
116 919 6CB814D8 49667 31
116 583 6C7A937C 85883 29
116 113 6C78740C 120322 28
116 627 6C7AC65C 91840 28
116 534 6C7A5AD4 112523 27
116 270 6C792994 50302 26
116 418 6C79D4B4 37697 26
116 680 6C7B03A4 104550 26
116 676 6C7AFF04 103297 26
已选择20行。
通过上面红色的锁存器地址,结合x$bh 视图,查看tch的次数,确定热快:
SQL> select hladdr,obj,(select object_name from dba_objects
2 where (data_object_id is null and object_id=x.obj)
3 or data_object_id=x.obj
4 and rownum=1 )as object_name,dbarfil,dbablk,tch
5 from x$bh x
6 where hladdr in('6CB7F7F0','6CFFF70C')
7 order by hladdr,obj;
HLADDR OBJ OBJECT_NAME DBARFIL DBABLK TCH
-------- ---------- ------------- ---------- ---------- ----------
6CB7F7F0 18 OBJ$ 1 47810 0
6CB7F7F0 109 I_SYSAUTH1 1 827 15
6CB7F7F0 57855 CBC_TEST 1 58171 0
6CB7F7F0 57855 CBC_TEST 1 58655 0
6CFFF70C 2 ICOL$ 1 42272 17
6CFFF70C 18 OBJ$ 1 47811 0
6CFFF70C 109 I_SYSAUTH1 1 828 15
6CFFF70C 57855 CBC_TEST 1 58172 0
6CFFF70C 57855 CBC_TEST 1 58656 0
但是很不幸,我这里也没有出现热块的迹象,因为tch竟然都是0.我也不知咋回事。。