Before we can talk about what latches are and how they work, though, you need some idea of how Oracle uses arrays, pointers, linked lists, and hash tables when tracking information in memory, because those are the types of structure that need the most protection when they are shared by multiple users.
An array is essentially a list of objects of the same shape and size, and since all the objects are the same size, it’s easy to walk through the array looking at each object in turn. For example,
x$ksuse (the structure for user sessions reported through
v$session) is a fixed array with rows of 11,360 bytes in Oracle 184.108.40.206 on 32-bit Windows. Oracle need only record the starting position of the array, and the code ...