Oracle 10g/11g Latch机制的变化

Oracle 10g/11g Latch机制的变化:前面曾经提到,Oracle的Latch机制采用spin来进行持有CPU的不断尝试,虽然通常Latch的获取会非常快(一般在微秒级),但是很多时候Latch竞争还是会引发极为严重的CPU争用。所以从Oracle 10g开始,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-----------[......]

阅读全文