Hi All,
I am trying to learn the basic meaning of buffer pin? I just read the following thread and an article by Jonathan Lewis. For example, what is happening during full table scan without parallel hint? Before, multiblock read happen, does Oracle check for the buffer whether are they in buffer cache or not, right? I am just trying to investigate this process. However, there is noting about how these kinds of internals work. There are only one or two books on the market. And there is not enough information abot x$ tables such as x$bh etc. in oracle docs.
BUFFER IS PINNED COUNT
http://www.jlcomp.demon.co.uk/bbw.html
- Calculate the hash bucket/chain id (using the tablespace, file, and block numbers, and block type).
- Grab the relevant cache buffers chains latch
- Search the hash bucket/chain
- Pin the buffer header if found
- drop the latch
- Use the buffer (if it isn’t held by another session in an incompatible mode)
- Grab the latch
- Unpin the buffer header
- Drop the latch
Regards