|
<< 写logfile这个过程,log buffer可以继续被修改其他进程修改嘛?
At least in 8i, when the server process wants to write to the log buffer, it must have the "redo allocatiion" latch. However, when LGWR wants to write the log buffer to the log file, it also requests the "redo allocation" latch. Thus the LGWR will prevent other foreground process to allocate more space in the log buffer.
But the LGWR doesn't request the "redo copy" latch. There fore other server process still can write to the other area of log buffer. LGWR will wait for other server processes to finish the copy.
( when a server process needs to write to the log buffer, it must have the redo copy latch first, then get the redo allocation latch , then release redo allocation latch, do the copy from its pga to log buffer, then release the redo copy latch ) .
So in summary, Yes , it is possible for other server processes to continue to write to log buffer , but only for the purpose of finishing the previous request.
>> Log file sync很高得情况,降低log buffer有效嘛?
I think the most important point is to increase the disk IO speed of the log file. And ofcourse you should n't set the log buffer to a high value in the first place. I doubt there is much use of tuning the size of log buffer if it is not too high . But anyhow, if some one has good experience on this , please post. |
|