Blogia
tecnolakis

WAITEVENT: "log file sync" Reference Note [ID 34592.1]

WAITEVENT: "log file sync" Reference Note [ID 34592.1]
 
 
 
 

Modified:06-Feb-2012Type:REFERENCEStatus:PUBLISHEDPriority:3
  

"log file sync" Reference Note

This is a reference note for the wait event "log file sync" which includes the following subsections: See Note:61998.1 for an introduction to Wait Events.
  • Versions:7.0 - 11.1 Documentation:
  • When a user session(foreground process) COMMITs (or rolls back), the session's redo information needs to be flushed to the redo logfile. The user session will post the LGWR to write all redo required from the log buffer to the redo log file. When the LGWR has finished it will post the user session. The user session waits on this wait event while waiting for LGWR to post it back to confirm all redo changes are safely on disk.

    This may be described further as the time user session/foreground process spends waiting for redo to be flushed to make the commit durable. Therefore, we may think of these waits as commit latency from the foreground process (or commit client generally).


    See Reducing Waits section below for more detailed breakdown of this wait event.

    ("log file sync" also applies to ROLLBACK/UNDO in that once the rollback/undo is complete the end of the rollback/undo operation requires all changes to complete the rollback/undo to be flushed to the redo log)

  Parameters:

  • P1 =
  • P2 = Not used
  • P3 = Not used

  Wait Time:

The wait is entirely dependent on LGWR to write out the necessary redo blocks and confirm completion back to the user session. The wait time includes the writing of the log buffer and the post. The waiter times out and increments the sequence number every second while waiting.

  Finding Blockers:

If a session continues to wait on the the same
Systemwide figures for waits on "log file sync" show the time spent waiting for COMMITs to complete. If this is significant then there may be a problem with LGWR's ability to flush redo out quickly enough. One can also look at:
  • "log file parallel write" waits for LGWR (See
  • "user commits" statistic shows the number of commits.
Here are 3 main general tuning tips to help you reduce waits on "log file sync":
  • Tune LGWR to get good throughput to disk . eg: Do not put redo logs on RAID 5.
  • If there are lots of short duration transactions see if it is possible to BATCH transactions together so there are fewer distinct COMMIT operations. Each commit has to have it confirmed that the relevant REDO is on disk. Although commits can be "piggybacked" by Oracle reducing the overall number of commits by batching transactions can have a very beneficial effect.
  • See if any of the processing can use the COMMIT NOWAIT option (be sure to understand the semantics of this before using it).
  • See if any activity can safely be done with NOLOGGING / UNRECOVERABLE options.
  • Check to see if redologs are large enough. Enlarge the redologs so the logs switch between 15 to 20 minutes.

For more detailed analysis for reducing waits on LOG FILE SYNC please see below:

The overall wait time for LOG FILE SYNC may be broken down into subsections or components.
If your system still shows high "log file sync" wait times after ensuring the general tuning tips above are completed, you should break down the total wait time into the individual components, then tune those components that make up the largest time.

The log file sync wait may be broken down into the following components:
1. Wakeup LGWR if idle
2. LGWR gathers the redo to be written and issue the I/O
3. Time for the log write I/O to complete
4. LGWR I/O post processing
5. LGWR posting the foreground/user session that the write has completed
6. Foreground/user session wakeup


Tuning advice based on log file sync component breakdown above:
Steps 2 and 3 are accumulated in the "redo write time" statistic. (i.e. as found under STATISICS section of Statspack and AWR)
Step 3 is the "log file parallel write" wait event. (
Steps 5 and 6 may become very significant as the system load increases. This is because even after the foreground has been posted it may take a some time for the OS to schedule it to run. May require monitoring from O/S level.
For Data Guard with synchronous (SYNC) transport and commit WAIT defaults, the above tuning steps still apply, except step 3 also includes the time for the network write and the RFS/redo write to the standby redo logs.
This wait event and how it applies to Data Guard is explained in detail in the MAA OTN white paper:

Known Bugs
You can restrict the list below to issues likely to affect one of the following versions by clicking the relevant button:



NBBugFixedDescription 
 1307470612.1.0.0Long "log file sync" waits not correlated with slow writesV11020001 V11020002 V11020003 PERF
 1237814711.2.0.2.BP10, 11.2.0.3, 12.1.0.0Long broadcast ack warning messages, and/or many Log File Sync timeouts in foregrounds in RACV11020001 V11020002 OPS PERF
 909569611.2.0.4, 12.1.0.0"log file sync" wait time spikes with ARCHIVE_LAG_TARGET setV10010005 V10020002 V10020003 V10020004 V10020005 V11010006 V11010007 V11020001 V11020002 V11020003 PERF
 849087910.2.0.4.4, 10.2.0.5, 11.1.0.7.3, 11.2.0.1Long "log file sync" latencies due to broadcast on commit schemeV10020002 V10020003 V10020004 V11010006 V11010007 OPS PERF
 822073410.2.0.4.4, 10.2.0.5, 11.1.0.7.3, 11.2.0.1Long "log file sync" wait in RACV10020002 V10020003 V10020004 V11010006 V11010007 OPS PERF
 771635610.2.0.5, 11.2.0.1Long "log file sync" latencies with broadcast on commit scheme in RACV10020002 V10020003 V10020004 V11010006 V11010007 OPS PERF
 764363210.2.0.4.1, 10.2.0.5, 11.1.0.7.4, 11.2.0.1High log file sync in Data Guard maximum availability (sync) modeV10020002 V10020003 V10020004 V11010006 V11010007 PERF STANDBY
 761036210.2.0.4.4, 10.2.0.5, 11.1.0.7.3, 11.2.0.1Long "log file sync" waits in RAC with broadcast on commit in RACV10020002 V10020003 V10020004 V11010006 V11010007 OPS PERF
P756873410.2.0.5, 11.2.0.1AIX: Sporadic spikes of 'log file sync' on AIX with heavy commit concurrencyV10020002 V10020003 V10020004 V11010006 V11010007 P212 PERF
 745237310.2.0.5, 11.1.0.7.1, 11.2.0.1"log file sync" timeout is not configurableV10020002 V10020003 V10020004 V11010006 V11010007 PERF
 631968510.2.0.4, 11.1.0.7, 11.2.0.1LGWR posts do not scale on some platformsV10020002 V10020003 V11010006 DISABLED PERF
 619394510.2.0.4.1, 10.2.0.5, 11.1.0.7, 11.2.0.1High LGWR CPU use and long 'log file sync' latency in RACV10020002 V10020003 V10020004 V11010006 CPU OPS PERF
 977643111.1.0.7.411.1.0.7.3 fix for 8220734 is incomplete - "log file sync" timeout set to 1 secondPERF
 589696310.2.0.4, 11.1.0.6High LGWR CPU and longer "log file sync" with fix for bug 5065930V09020008 V10010005 V10020003 CPU PERF RA203 RECOMMENDED REGRESSION
 514738610.2.0.4.1, 10.2.0.5, 11.1.0.6Long waits on "log file sync" /random ORA-27152 "attempt to post process failed"V09020008 V10010005 V10020002 V10020003 V10020004 ERROR PERF
 508759210.2.0.4, 11.1.0.6"log file sync" waits from read only commitsV10020002 V10020003 PERF RA201 REGRESSION
 506593010.2.0.3, 11.1.0.6"log file sync" timeouts can occurV09020008 V10010005 V10020002 PERF
 506106810.2.0.3, 11.1.0.6RAC using "broadcast on commit" can see delayed commit timesV10020002 OPS
 33112109.2.0.5, 10.1.0.2Unnecessary 0.5 seconds waits for "Broadcast on commit" SCN schemeOPS PERF
 26631229.2.0.5, 10.1.0.2Unneccessarily long waits on "log file sync" can occurOPERF
 26406869.2.0.5, 10.1.0.2Long waits for "log file sync" with broadcast SCN in RACOPS PERF
  • '*' against a bug indicates that an alert exists for that issue.
  • '+' indicates a particularly notable bug.
  • 'P' indicates a port specific bug.
  • Fixed versions use "BPnn" to indicate Exadata bundle nn.
  • "OERI:xxxx" may be used as shorthand for ORA-600 [xxxx].
Data Guard Perspective:Reducing Waits / Wait times:Systemwide Waits:Individual Waits:Definition:Note 387174.1:MAA - Data Guard Redo Transport and Network Best Practices.
Note.34583.1:"log file parallel write" Reference Note:)Note:34583.1) buffer#11g 10g

 

 

0 comentarios