如何查看oracle中各种scn及相互之间关系

方法/步骤

  1. 1

    1.在oracle中对于数据的恢复是离不开scn的,每个事务都会被赋予一个scn值,scn会出现在事务表、数据块头、控制文件、数据文件头以及redo记录中,下图列出oracle中一些重要的scn

  2. 2

    2.第一个要说的scn就是系统检查点scn,每当一个检查点动作完成,oracle就会把这个检查点对应的scn值记录在控制文件中,如下图查看系统全局检查点scn号

  3. 3

    3.另外通过alter system checkpoint;可触发系统检查点

  4. 4

    4.另外还有两条命令是查询系统当前scn号的命令,系统检查scn3秒变化一次, 如但只会增加不会减少下图

    select current_scn from v$database;

    select dbms_flashback.get_system_change_number from dual;

  5. 5

    5.当前数据文件SCN。在控制文件中。即checkpoint scn,表示该数据文件最近一次执行检查点操作时的SCN

    select name,checkpoint_change# from v$datafile;

  6. 6

    6.数据文件头的scn也叫做数据文件的启动scn,可通过下图命令进行查询

    select name,checkpoint_change# from v$datafile_header;

  7. 7

    7.还有一个数据文件结束SCN,在控制文件中,LAST_CHANGE#,如果数据库非正常关闭值为NULL。正常关闭是关闭时的SCN。

    select name,last_change# from v$datafile;

  8. 8

    8.另外在日志组视图中也存在一个scn号,它的使用是用来显示日志范围

    END

注意事项

  • 此经验由勇敢的choy原创,觉得此经验对你有帮助,请点击下面【投票】予以支持,也可以点击上面的【五角星】来收藏
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。