Checkpoint CNT和SCN

控制文件中包含的重要信息有:

1、每个数据文件的 检查点计数:Checkpoint counter(checkpoint CNT)

2、每个数据文件的 checkpoint SCN:当checkpoint完成后,ORACLE将Datafile Checkpoint SCN号存放在控制文件中。
select name,checkpoint_change# from v$datafile;

3、每个数据文件的 Stop SCN:select name,last_change# from v$datafile;

 

数据文件头的信息:

1、检查点计数:Checkpoint counter(checkpoint CNT)

2、检查点SCN:open数据库时也叫数据文件Start SCN,open状态下 is the on-disk SCN, the SCN when the checkpoint write is done to the data file。
select name,checkpoint_change# from v$datafile_header;

由于表空间的创建时间不尽相同,所以不同表空间/数据文件的Checkpoint cnt通常是不同的.

我们知道:

在数据库open的过程中,Oracle要进行两次检查.

第一次检查每个数据文件头中的Checkpoint cnt是否与对应控制文件中的每个数据文件Checkpoint cnt一致.

如果相等,进行第二次检查,如果不相等,就需要进行Media Recovery

第二次检查每个数据文件头的开始SCN和对应控制文件中的每个数据文件结束SCN是否一致
如果结束SCN等于开始SCN,则不需要对那个文件进行恢复。如果Stop SCN的值为无穷大,就需要做Instance Recoveryoracle会到控制文件中读取low cache rba,这就是检查点位置.从此处开始应用重做信息,应用到on disk rba处.on disk rba是磁盘中重做日志文件的最后一条重做记录的rba。

对每个数据文件都完成检查后,打开数据库.同时将控制文件中每个数据文件的结束SCN设置为无穷大.

当数据库以shutdown normal ,shutdown immediate关闭时,oracle将在真正关闭这前,执行一个checkpoint 产生一个 checkpoint SCN(既更新每个datatfile 的start SCN)并将datafile 头部的 start SCN对应的写到control file 中每个datafile 的stop SCN。

盖国强所做的实验:http://www.eygle.com/archives/2006/08/event_controlfile_datafile.html

 

checkpoint count(checkpoint cnt)在full checkpoint时才会去增加cnt,而full checkpoint只再以下几种情况发生

  1. At each switch of the redo log files.
  2. Directly by the ALTER SYSTEM SWITCH LOGFILE command.
  3. Directly with the ALTER SYSTEM CHECKPOINT command.
  4. hot backup.
  5. offline.

 

附:Media Recovery is required

  1. when a data file is restored from backup checkpoint counts in the data files are not equal to the checkpoint counts in the control file
  2. file was offlined without a checkpoint
  3. when using a backup control file

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

转载于:http://blog.itpub.net/24966341/viewspace-1089096/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值