In this blog entry, we will explore the wonderful world of SCNs and how Oracle database uses SCN internally. We will also explore few new bugs and clarify few misconceptions about SCN itself.
What is SCN?
SCN (System Change Number) is a primary mechanism to maintain data consistency in Oracle database. SCN is used primarily in the following areas, of course, this is not a complete list:
If a table column is updated with the same value in a row, does Oracle RDBMS engine modify the data? (or) Does RDBMS engine have an optimization skipping the update, as value of that column is not changing? This was the essence of a question asked in Oracle-l list and I think, it is a good topic for further discussion. Jared Still came up with a fine method to understand this issue measuring redo/undo size. We will explore the same questions with redo log dump method in this blog entry.
Following few lines shows a test case creating a table, an index, and then populating a row in the table.
create table updtest (v1 varchar2(30)); create index updtest_i1 on updtest(v1); insert into updtest values ('Riyaj'); commit;
REDO records and change vectors
So this is a 2 node RAC cluster on RHEL that was recently upgraded from 10.2.0.2 to 10.2.0.4. Since then clusterware restarts crs every few hours (8 in fact). A little research suggests that this can indicate problems with the automated OCR backup. The first thing therefore is to check the state of the backups. [server] [...]