DEVFYI - Developer Resource - FYI

What is the difference between locks, latches, enqueues and semaphores? (for DBA

ORACLE Interview Questions and Answers (Part 2)


(Continued from previous question...)

314. What is the difference between locks, latches, enqueues and semaphores? (for DBA

A latch is an internal Oracle mechanism used to protect data structures in the SGA from simultaneous access. Atomic hardware instructions like TEST-AND-SET is used to implement latches. Latches are more restrictive than locks in that they are always exclusive. Latches are never queued, but will spin or sleep until they obtain a resource, or time out.
Enqueues and locks are different names for the same thing. Both support queuing and concurrency. They are queued and serviced in a first-in-first-out (FIFO) order.
Semaphores are an operating system facility used to control waiting. Semaphores are controlled by the following Unix parameters: semmni, semmns and semmsl. Typical settings are:
semmns = sum of the "processes" parameter for each instance
(see init<instance>.ora for each instance)
semmni = number of instances running simultaneously;
semmsl = semmns

(Continued on next question...)

Other Interview Questions