Oracle 10g/11g Latch机制的变化:前面曾经提到,Oracle的Latch机制采用spin来进行持有CPU的不断尝试,虽然通常Latch的获取会非常快(一般在微秒级),但是很多时候Latch竞争还是会引发极为严重的CPU争用。所以从Oracle 10g开始,Oracle尝试引入一种新[......]
深入解析Oracle
Latch Free(闩锁释放)
Latch Free(闩锁释放):Latch Free通常被称为闩锁释放,这个名称常常引起误解,实际上我们应该在前面加上一个“等待”(wait),当数据库出现这个等待时,说明有进程正在等待某个Latch被释放,也就是waiting latch free。 Latch是一种低级排队(串行)机制,用于[......]
Enqueue (队列等待)
Enqueue (队列等待):Enqueue是一种保护共享资源的锁定机制。该锁定机制保护共享资源,以避免因并发操作而损坏数据,比如通过锁定保护一行记录,避免多个用户同时更新。Enqueue采用排队机制,即FIFO(先进先出)来控制资源的使用。 在Oracle 10g之前,Enqueue事件是一组锁[......]
日志文件相关等待
日志文件相关等待:redo对于数据库来说非常重要,有一系统等待事件和日志相关,通过v$event_name视图可以找到这些等待事件: sys@CCDB> select name from v$event_name where name like '%log%';NAME-----------[......]
direct path read/write (直接路径读/写)
direct path read/write (直接路径读/写): 直接路径读(direct path read)通常发生在Oracle直接读数据到进程PGA时,这个读取不需要经过SGA。直接路径读等待事件的3个参数分别是file number(指绝对文件号)、first dba、block cn[......]