OracleSCN-systemchangenumber学习笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了OracleSCN-systemchangenumber学习笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2480字,纯文字阅读大概需要4分钟。
内容图文
SCN是Oracle的内部时钟,用来反映数据库中所有变化,在运行过程中不断更新。SCN种类包括:
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),而且这个检查点计数要第一个检查。
本文永久更新链接地址:
内容总结
以上是互联网集市为您收集整理的OracleSCN-systemchangenumber学习笔记全部内容,希望文章能够帮你解决OracleSCN-systemchangenumber学习笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。