我们来说说更神奇的事。在9i的时候,这种方式还有很多bug。
不知道你有没遇到过,一个查询莫名的hang住,或者数据库hang住。如果去做个trace,你可能会发现,进程正在等待获得一个latch,而当你再去检查那个latch时居然发现,那个latch并没有被任何进程持有!是free的!也就是说,latch request waiting for a free latch!
这种bug的原因就是因为这个latch request处在上面所说的队列中,并且由于某些原因,当前面latch释放时并没有将它唤醒,而它也绝对不会自己醒来。