SCN是Oracle的内部时钟,用来反映数据库中所有变化,在运行过程中不断更新。SCN种类包括:

(1)系统当前SCN
(2)Checkpoint SCN(注意只会随着检查点的发生而被更新:但是在热备模式下,checkpoint时该SCN不变
a.Stop SCN(保存在控制文件中,又称END SCN)
实例正常运行时STOP SCN为空,当实例正常关闭时,oracle会在控制文件中记录下每个数据文件对应的STOP SCN号,用来再启动时检查控制文件中所有数据文件对应的STOP SCN号是否都存在并且一致,是则表示上一次实例关闭正常,所有数据文件对应的缓存数据都已同步到磁盘,故无需进行redo/undo实例恢复。否则若发现控制文件中有某数据文件对应的STOP SCN号为空,则表明上次实例关闭非正常,此次启动要进行实例恢复。因此STOP SCN号用来判断下次启动时是否需要进行实例恢复。(如果系统断电,那么控制文件中的STOP SCN还是为空)
SQL>select name,last_change# from v$datafile;     --online的数据文件对应的last_change#都是空,offline的数据文件对应的last_change#有值
SQL>shutdown immediate;
SQL>startup mount;
SQL>select name,last_change# from v$datafile;
   如下示例:
首先通过select name,last_change# from v$datafile;查询到test01.dbf文件存在SCN号,是因为我们将该数据文件offline了,当我们online该数据文件时,报出该数据文件需要介质恢复,直接recover该数据文件即可。重新online该数据文件就不会有问题。重新执行select name,last_change# from v$datafile;时,该数据文件对应的SCN号就没有了。
**********************************************************************************************************************
      START SCN是我们判断是否需要介质恢复的唯一依据,介质恢复就是更新SCN号(关机时,控制文件中的stop SCN号就是copy的数据文件中start SCN号)。          
***********************************************************************************************************************
****************************************************************************************************************
总结:1,SCN分两大类:(1)系统当前SCN,用于记录用户对数据库的所有操作;(2)checkpoint SCN,只会随着检查点的刷新而被更新。
2,checkpoint SCN又分为4小类,主要用户数据库开机时判断是否需要介质恢复和实例恢复。
3,首先判断start SCN号用于判断开机时所有数据文件的一致性;stop SCN号用于判断是否正常关机(实例恢复);datafile checkpoint SCN号用于判断数据文件和控制文件的一致性;system checkpoint SCN用于判断控制文件自身的一致性。
补充:数据库open阶段,除了检查SCN外,还会检查一个数据,即检查点计数(Checkpoint CNT),而且这个检查点计数要第一个检查。
转载请注明出处:http://www.cnblogs.com/pengineer/p/4367008.html

转载于:https://www.cnblogs.com/pengineer/p/4367008.html

搞定Oracle SCN -system change number相关推荐

  1. 12c双机rac oracle_深度干货 | 如何借助云原生搞定Oracle备份快速恢复?

    作者:麟远 桓禹 Oracle备份面临的挑战 在传统企业里,经常会用Oracle数据库去承载业务重要核心数据,同时Oracle针对不同的恢复场景提供了灵活多样的恢复操作方法,灵活的设计给备份和恢复带来 ...

  2. dataguard如何实现切换_深度干货 | 如何借助云原生搞定Oracle备份快速恢复?

    简介:DBS Oracle备份产品是阿里云自研的,结合阿里集团之前多年Oracle数据库的生产使用经验打造的云备份产品.它不仅提供了传统备份所提供的Oracle备份能力外,还实现了无入侵流式备份能力, ...

  3. 利用DB Link两步搞定Oracle两个数据库间的表同步

    一.实现目标: 要实现从源表:AAA到目标表:BBB的数据同步. 二.在目标机上建立Oracle DB Link: 1. 在network/admin/tnsname.ora文件中加入源库的连接信息, ...

  4. 利用DB Link搞定Oracle两个数据库间的表同步

    数据库之间的链接建立在DATABASE LINK上.要创建一个DB LINK,必须先 在每个数据库服务器上设置链接字符串. 1. 链接字符串即服务名,首先在本地配置一个服务名,地址指向远程的数据库地址 ...

  5. 三步搞定oracle 11G 导出的pmd文件,导入oracle 12C数据库中

    将oracle 11G 导出的pmd文件,导入oracle 12C数据库中,将面临数据库用户名不匹配问题,12C用户名必须前缀c##,而导出的pmd文件又带原始11G数据库的用户名,无法在12C中建不 ...

  6. 【体系结构】有关Oracle SCN知识点的整理--补充内容

    [体系结构]有关Oracle SCN知识点的整理--补充内容 小麦苗自己整理的内容参考:[体系结构]有关Oracle SCN知识点的整理  http://blog.itpub.net/26736162 ...

  7. 讨论oracle的反腐,关于oracle SCN 的讨论

    1.SCN存在redo log文件,control文件.数据文件; 2.oracle正常运行时,control文件的SCN是个很大的数,与redo log文件.数据文件的SCN不同,正常关闭时,做完c ...

  8. 手动修改oracle scn号,SCN(系统改变号)

    1. scn: system change number 用以标识数据库在某个确切时刻提交的版本. 数据库的内部逻辑时钟. 每个数据库都有一个全局的SCN生成器. 它会随着外部变化的加快而加快变化,在 ...

  9. oracle scn和headroom

    客户的db报scn生成频率高,因此百度了一下,来自互联网,供学习使用,原文url:http://www.cnblogs.com/daduxiong/archive/2010/08/19/1803764 ...

最新文章

  1. POJ1580 水题,积累!
  2. 简易mysql数据库调优_MySQL数据库简单实用的优化方法
  3. hadoop 传感器数据_hadoop为什么是大数据学习的核心技术?
  4. MyEclipes+html+jsp+mysql实现一个物流信息网
  5. kinect在openni下也能玩抠出人物换背景
  6. Shell编程 之 for 循环
  7. ascii码java生成_Java 生成 ASCII 字符画 实现代码
  8. Android学习之布局管理器嵌套
  9. MYSQL互为主从同步(Windows)
  10. 图像处理——在Python中使用OpenCV和PIL显示图像(legacy)
  11. 深入理解PHP之foreach
  12. shell编程-条件判断与流程控制
  13. 有的人根本没法谈事情
  14. kindle电子书去drm_如何将无DRM的电子书加载到Kindle
  15. C语言的文件读写函数
  16. 【转载】原生Ajax写法
  17. OpenKG开源系列 | 面向知识的推理问答编程语言KoPL(清华大学)
  18. 课程能力建设:提高五年制高职教学有效性的重要途径
  19. oracle dba 有哪些权限,Oracle DBA应知应会 -- 权限管理
  20. CorelDRAWX4的C++插件开发(四十一)纯C++插件开发(5)实现六个纯虚函数

热门文章

  1. linux错误说未声明,如何在Linux 32位计算机上解决REG_EIP未声明(在此函数中首次使用)错误?...
  2. python短期预测图_Python中利用长短期记忆模型LSTM进行时间序列预测分析
  3. python中常见的运行时错误_17个常见的Python运行时错误
  4. 在同一网段内运行同一命令_一高楼两层同时起火!同一天内,全国竟发生数起“高层火灾”!...
  5. echarts词云图形状_用Wordcloud生成指定形状的词云图
  6. 机器人学习--从路径规划侧面看栅格地图
  7. proteus三输入与非门名字_Proteus仿真库元件名大全
  8. 【合唱】男女差八度的科学解释
  9. mfc 怎样动态设置static text 的可见属性
  10. Microsoft Visual c++简介