René Nyffenegger's collection of things on the web | |
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
Latches | ||
A latch's purpose is to protect memory structures within the SGA that is accessed by more
than one process. Basically, if a process writes to such a structure, no other process should be allowed
to either read or write from/to this structure.
Technically, a latch can belong to either no or one process. It is
guaranteed that no two or more processes can possess a latch at a given time, even if they try to aquire the latch concurently.
Latches are a little more restrictive as locks as latches cannot be shared.
There is no queue on latches. If multiple processes want to aquire a latch, there is no guarante for the
first come, first serve principle.
A latch is basically a small unit of memory that indicates the state of the latch.
The data structure representing a lock is more complicated as it caters for
queues and sharing.
Parent latches
A parent latch is a latch that groups a set of (child) latches that somehow belong together. Latches that
don't have parent latches and are not related to any other latches are called parent latches as well.
v$latch
See v$latch
|