Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> latch-free SCN scheme (10.1.0.3)
In my alert.log I have the following text:
Mon Feb 14 20:29:29 2005
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
KCCDEBUG_LEVEL = 0
Using LOG_ARCHIVE_DEST_10 parameter default value as
USE_DB_RECOVERY_FILE_DEST Autotune of undo retention is turned on. Dynamic
strands is set to TRUE
Running with 1 shared and 10 private strand(s). Zero-copy redo is FALSE
What is "latch-free SCN scheme"? As far as I am aware, any transaction that needed to increase SCN, needed to acquire latch that was protecting SCN. Is it still the case? V$LATCHNAME, of course, tells a different story:
1 select name,latch# from v$latchname 2 where name like '%SCN%'
3* order by 1
SQL> /
NAME LATCH#
------------------------- ----------
batching SCNs 110 change tracking consisten 155
change tracking optimizat 154
ion SCN
flashback SCN barrier 159 flashback hint SCN barrie 161
NAME LATCH#
------------------------- ----------
lgwr LWN SCN 106 mostly latch-free SCN 105 ping redo on-disk SCN 108 redo on-disk SCN 107
9 rows selected.
What's the deal? If SCN acquisition is really latch free, ie does not require previous latch acquisition, that would be a great performance enhancement. If that is so, is that true for RAC as well? What about local and global SCN? Is there still a global SCN for the database and a local one for each instance? My world is falling apart! Moreover, what is "zero-copy redo"? Once upon a time, there was a parameter which was determining the maximum size of redo entry that was written directly to log buffer. Everything greater then that was first formatted in the process buffer, space was then allocated in the redo buffer (by acquiring redo allocation latch, of course), and when redo copy latch was acquired, the user buffer was copied into the log buffer. Am I correct in my understanding that all processes need to acquire only allocation latch and that they will write directly into the log buffer? No copy latch necessary?
-- Bug, noun: Son of a glitchReceived on Mon Feb 14 2005 - 19:53:05 CST