Oracle认证:Oracle数据库SCN号详解

系统搜检点scn(v$database(checkpoint_change#)) 数据文件搜检点(v$datafile(checkpoint_change#)) 数据文件终止scn(v$datafile(last_change#)) 数据文件中存放的搜检点 启动scn (v$datafile_header(checkpoint_change#)

    1、系统搜检点scn 当一个搜检点动作完成之后,Oracle就把系统搜检点的SCN存储到节制文件中。 select checkpoint_change# from v$database

    2、数据文件搜检点scn 当一个搜检点动作完成之后,  Oracle就把每个数据文件的scn零丁存放在节制文件 中。 select name,checkpoint_change# from v$datafile

    3、启动scn Oracle把这个搜检点的scn存储在每个数据文件的文件头中,这个值称为启动scn, 因为它用于在数据库实例启动时,搜检是否需要执行数据库恢复。 select name,checkpoint_change# from v$datafile_header

    4、终止scn 每个数据文件的终止scn都存储在节制文件中。 select name,last_change# from v$datafile 在正常的数据库操作过程中,所有正处于联机读写模式下的数据文件的终止scn都为null.

    5、在数据库运行时代的scn值 在数据库打开并运行之后,节制文件中的系统搜检点、节制文件中的数据文件搜检点scn 和每个数据文件头中的启动scn都是不异的。节制文件中的每个数据文件的终止scn都为null. 在平安封锁数据库的过程中,系统会执行一个搜检点动作,这时所稀有据文件的终止scn 城市设置成数据文件头中的阿谁启动scn的值。在数据库年夜头启动的时辰, Oracle将文件头中的阿谁启动scn与数据库文件搜检点scn进行斗劲, 如不美观这两个值彼此匹配,oracle接下来还要斗劲数据文件头中的启动scn和节制文件 中数据文件的终止scn。如不美观这两个值也一致,就意味着所稀有据块多已经提交,所有 对数据库的改削都没有在封锁数据库的过程中丢失踪,是以此次启动数据库的过程 也不需要任何恢复操作,此时数据库就可以打开了。当所有的数据库都打开之后, 存储在节制文件中的数据文件终止scn的质ё儋次被更改为null, 这暗示数据文件已经打开并能够正常使用了。

posted @ 2012-04-30 21:00  hibernate3例子  阅读(205)  评论(0编辑  收藏  举报