怎样理解oracle的多版本性? 以及每个版本是在什么情况下产生的?
还有oracle中 怎样理解checkpoint 和scn, 以及他们二者之间有什么联系?谢谢

解决方案 »

  1.   

    系统改变号(SCN: System Change Number)一个由系统内部强制措施的序列号。当数据更新的时候自动增加,它是维护数据的一致性和顺序恢复的重要标志。SCN的作用:1.记录数据修改的顺序。查询语句不会使SCN增加,修改数据时SCN会增加;2.维护数据的一致性。当用户执行查询时,用户会自动从系统中得到一个当前SCN,在查询数据的同时,系统会检查每个数据行和它对应的SCN,只有那些不比用户的SCN大的数据行才能从数据库调整缓存中取出,而那些大于用户SCN的数据行,就应该从回退段数据文件的缓冲中取出。3.事务提交时,Oracle将为该事务生成一个SCN,事务的SCN将写入重做日志文件中,可以作为数据库恢复时的标记。
    每次产生一个检查点,SCN改变一次