ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 探索Oracle SCN

探索Oracle SCN

原创 Linux操作系统 作者:cn01427043 时间:2012-05-13 10:50:38 0 删除 编辑
SCN是Oracle数据库的内部时钟,它在Oracle的多个地方出现,含义各不相同。
1.系统检查点(system checkpoint)SCN
每当一个检查点完成时,Oracle就把该检查点对应的SCN记录到控制文件中,可以用以下语句查看当前数据库的检查点SCN:
select CHECKPOINT_CHANGE# from v$database;

CHECKPOINT_CHANGE#
------------------
        6627441168
2.数据文件头SCN(数据文件的启动SCN)
该SCN记录在每个数据文件头中,正常情况下,该SCN应该和记录在控制文件中的检查点SCN一致,可以用以下语句查看数据文件头的SCN:
select FILE#,CHECKPOINT_CHANGE# from v$datafile_header;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1         6627448310
         2         6627448310
         3         6627448310
         4         6627448310
         5         6627448310
3.数据文件的检查点SCN和终止SCN
这两个SCN不是记录在数据文件中,而是记录在控制文件中,可以通过以下语句查看:
select CHECKPOINT_CHANGE#,LAST_CHANGE# from v$datafile;

CHECKPOINT_CHANGE# LAST_CHANGE#
------------------ ------------
        6627448310
        6627448310
        6627448310
        6627448310
        6627448310
4.三个数据文件SCN的关系
和数据文件相关的SCN有:启动SCN(即数据文件头SCN),检查点SCN,终止SCN,其中第一个SCN保存在每个数据文件头,而后两个SCN都保存在控制文件中。
在数据库的正常运行中,启动SCN,检查点SCN应该一样,而终止SCN被设为无穷大(NULL),如果数据库正常关闭,则在关闭前会将每个数据文件的终止SCN设为和启动SCN一样;如果数据库异常关闭,终止SCN仍保存无穷大。
每次数据库启动时,比较每个数据文件的启动SCN和终止SCN,如果一致,该数据文件不需要恢复,如果不一致则必须恢复。

5.日志文件SCN
日志文件有低SCN和高SCN之分,低SCN代表该日志文件第一个Redo记录的SCN,而高SCN代表该日志文件最后一个Redo记录的SCN,可以通过以下语句查询:

select FIRST_CHANGE#,NEXT_CHANGE# from v$log_history;
转自http://space.itpub.net/?uid-26277071-action-viewspace-itemid-711066

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26911067/viewspace-723440/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 详解checkpoint
请登录后发表评论 登录
全部评论

注册时间:2012-05-13

  • 博文量
    2
  • 访问量
    5854

最新文章