@CJ
CJ,
The buffer is pinned (in share mode for reading) and then only the needed rows are extracted from the buffer. So no extra copy is happening. There’s an optimization (the “consistent gets – examination” thing), where the buffer isn’t even pinned but read under the protection of the CBC latch only. This is done for index root/branch blocs in some cases (when Oracle knows in advance that the block access doesn’t take long time), like single row lookup from an unique index…