LGWR - sequence [message #526456] |
Tue, 11 October 2011 03:20 |
|
hanner
Messages: 90 Registered: August 2011 Location: at HOME
|
Member |
|
|
Hi guys,
not too sure is this the correct understanding of how this processer work.
When there is a change vector, the LGWR will write the changes to the log buffer and also in a real time, flushes it from the log buffer to the current online redo log group (which is in the disk).
When the current online redo log group, members are full (all of them), a log switch happen(done by the LGWR) which will first, if archive log mode is on, will archived that particular 'full' online redo log group(current) to the place you have specify in your archive log dest. The 2nd online redo log group will kick in to become the current group and the cycle continue... .so on and so forth.
Am i right on the above?
|
|
|
Re: LGWR - sequence [message #526466 is a reply to message #526456] |
Tue, 11 October 2011 03:58 |
|
Michel Cadot
Messages: 68732 Registered: March 2007 Location: Saint-Maur, France, https...
|
Senior Member Account Moderator |
|
|
Quote:When there is a change vector, the LGWR will write the changes to the log buffer and also in a real time, flushes it from the log buffer to the current online redo log group (which is in the disk).
Not exactly. The flush happens only at end of transaction or on some events like the buffer is somewhat full, it is long enough since it has not been flushed...
Quote:When the current online redo log group, members are full (all of them), a log switch happen(done by the LGWR) which will first, if archive log mode is on, will archived that particular 'full' online redo log group(current) to the place you have specify in your archive log dest.
Not exactly, archiving is asynchroneous with the log switch.
When there is a log switch, the archiver process (ARC) is awaken to archive the log. Log writer (LGWR) does not wait for the archiver to go to the next log group.
Regards
Michel
|
|
|
|
|
Re: LGWR - sequence [message #526486 is a reply to message #526456] |
Tue, 11 October 2011 04:54 |
John Watson
Messages: 8964 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
Quote:When there is a change vector, the LGWR will write the changes to the log buffer and also in a real time, flushes it from the log buffer to the current online redo log group No, this is wrong. Firstly, it is your server process that writes change vectors to the log buffer, not the LGWR. Secondly, LGWR writes the buffer to disc in real time when you issue a COMMIT but in all other circumstances, the write is not in real time: it is delayed until one of a number of other triggers causes LGWER to write.
|
|
|
|
|
|
Re: LGWR - sequence [message #526531 is a reply to message #526523] |
Tue, 11 October 2011 08:35 |
|
Michel Cadot
Messages: 68732 Registered: March 2007 Location: Saint-Maur, France, https...
|
Senior Member Account Moderator |
|
|
Quote:So when comes to DBWR, this process write dirty buffer to disk. So does the server process writes, the changes to the dirty buffer too?
Server process writes the dirty buffers into memory, DBWR write the dirty buffers from memory to disk.
Quote:When will LGWR flush the log buffer to disk?
There are many reasons, no need to know exactly which ones they are as they may change from version to version.
Often listed: buffer 1/3 full, buffer 1M full, every 3 seconds, on commit...
Quote:Is there a way to identify the process name?
The process has no name, its id can be found in v$process.
Regards
Michel
|
|
|