Addenda and Errata for Oracle Core Chapter 1 Introduction
Back to Index
||Paragraph after the note: “The SCN will be incremented on other occasions …”, but I don’t give any examples of other occasions, except for a brief note on page 38; so here are a couple of examples:
If you make a number of changes to the same block at the same SCN (with no other possible transactions going on) then eventually Oracle will increase the SCN.
There is a single byte on each block that counts the number of changes made to the block at the current SCN; historically this meant that you could change the block 254 times before it was necessary for Oracle to increment the SCN and set the counter back to 1 (zero is a special value for this counter that marks the block as logically corrupt – ORA-01578). In recent versions of Oracle the SCN seems to change long before you get to 254 block changes.
The SCN also changes when an incoming distributed query or transaction has a lower SCN than the current instance – the two databases synchronise their SCNs to the higher value (at the start of any select, and at the end of any transaction). The same sort of thing happens with RAC instances, but there’s a constant cross-chat between instances – and a “broadcase on commit” feature that makes this behaviour almost invisible.
Back to Index
RSS feed for comments on this post.