• 相克军_Oracle体系_随堂笔记010-SCN


    1、SCN的意义?system change number
        时间
        先后、新旧
    select dbms_flashback.get_system_change_number,
    SCN_TO_TIMESTAMP(dbms_flashback.get_system_change_number) from dual;
    
    SCN号,为了保证数据的一致性;

    2、常见的SCN
      2.1控制文件的三个SCN
            系统SCN
    select checkpoint_change# from v$database;
    
            文件SCN
    select name,checkpoint_change# from v$datafile;
    
            结束SCN
    select name,last_change# from v$datafile;
    
            检查点信息
    增量检查点并不会去更新数据文件头,以及控制文件中数据库SCN以及数据文件条目的SCN信息,而只是每3秒由CKPT进程去更新控制文件中的low cache rba信息,也就是检查点的位置。
      2.2数据文件头部
        开始SCN
    select name,checkpoint_change# from v$datafile_header;
    
    数据块头部ITL事务槽(在后面章节详述)
    日志change vector中
        跑日志、空跑日志
    回滚段事务表中(在后面章节详述)
      2.3日志文件头部
        first、next
    --查看历史日志first_change#,next_change#
    select recid,sequence#,first_change#,next_change# from v$log_history where rownum<6;
    
    select * from v$log; 
    
    select * from v$archived_log;
    
    正常情况下,控制文件的系统SCN 文件SCN 与数据文件头部的SCN应该是一样的。
     
    数据库正常关闭,buffer cache 
    更新系统SCN,文件SCN,终止SCN。数据文件头部的SCN。
     
    非正常关闭,终止SCN为空,其他都一样,非正常关闭需要进行实例恢复。需要redo log,不需要归档log。

    3、实例恢复
        只是需要redo log:active、current
        实例恢复判断依据:启动数据库时,检测到控制文件的终止SCN为空就需要做实例恢复
        演示SCN变化

    如果发生了实例崩溃,只需要在日志文件中找到检查点位置(low cache rba),从此处开始应用所有的重做日志文件,就完成了前滚操作。实例崩溃后,再次启动数据库,oracle会到控制文件中读取low cache rba,这就是检查点位置。从此处开始应用重做日志,应用到on disk rba的位置。on disk rba是磁盘中重做日志文件的最后一条重做记录的rba。
     
    恢复涉及到的专业名词:
    ①跑日志
        跑日志跑多了没关系,不会重复应用2次,只会发生空跑,没事。
    ②提升SCN,比如一个数据文件是旧的,就需要应用归档日志、重做日志使其SCN提升到跟系统SCN一致。
    每个日志条目里面都有SCN。
    每个日志文件 头部有两个SCN,first和next SCN。
    控制文件中的3个SCN:
    数据文件头部的SCN:

    4、fast_start_mttr_target
    fast_start_mttr_target参数,
    默认是0,表示oracle自动调节
    单位是秒。
    如果是20秒,实例恢复的时候,需要前滚日志,oracle会尽量控制在20秒以内。会加大DBWn写的频率。
    如果时间过短,DBWn写的频率过大,I/O会很繁忙,可能会出问题。
  • 相关阅读:
    循环结构
    位运算符
    Switch 选择结构
    if结构和逻辑运算符
    变量和运算符
    [luogu1090 SCOI2003] 字符串折叠(区间DP+hash)
    [luogu2329 SCOI2005] 栅栏(二分+搜索)
    [luogu 4886] 快递员
    [luogu4290 HAOI2008]玩具取名(DP)
    [luogu2624 HNOI2008]明明的烦恼 (prufer+高精)
  • 原文地址:https://www.cnblogs.com/jyzhao/p/3819376.html
Copyright © 2020-2023  润新知