|
> 在private strand出现之前,redo record在pga生成,然后被server process从PGA复制到logbuffer中的shared strand ...
> 在private strand出现后,private strand在shared pool中创建
You're right. I should emphasize that I was only referring to the case with private strands. When Oracle does not use private strands, documentation clearly says
"The database processes copy redo entries from the user memory space to the redo log buffer in the SGA."
http://docs.oracle.com/database/121/CNCPT/memory.htm#CNCPT1225
> 我认为一个redo record应该使用的是连续的“buffer”,不可能出现楼主说的那种情况
I agree that a redo record is continuous (i.e. its change vectors occupy a contiguous area of memory in redo log buffer). But he (楼主) shows that a transaction, not the redo records of a transaction, has change vectors scattered in multiple log buffers. That's reasonable. If he truly meant redo records instead of transactions in the picture, he would sure be wrong. |
|