前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于checkpoint cnt和checkpoint scn

关于checkpoint cnt和checkpoint scn

作者头像
数据和云01
发布2018-09-05 10:13:14
6050
发布2018-09-05 10:13:14
举报
文章被收录于专栏:数据库新发现

关于checkpoint cnt和checkpoint scn

通过试验说明checkpoint cnt 和checkpoint scn的关系

1.在不同条件下转储控制文件

SQL> alter session set events 'immediate trace name CONTROLF level 10';

Session altered.

SQL> alter tablespace system begin backup;

Tablespace altered.

SQL> alter session set events 'immediate trace name CONTROLF level 10';

Session altered.

SQL> alter system checkpoint;

System altered.

SQL> alter session set events 'immediate trace name CONTROLF level 10' 2 /

Session altered.

SQL> alter tablespace system end backup;

Tablespace altered.

SQL> alter session set events 'immediate trace name CONTROLF level 10';

Session altered.

notes:

alter session set events 'immediate trace name CONTROLF level 10';

用于转储控制文件.

?

2.获得以下跟踪文件信息(仅研究system表空间记录,请注意红色部分):

a.正常情况下转储控制文件

*************************************************************************** DATA FILE RECORDS *************************************************************************** (blkno = 0x6, size = 180, max = 100, in-use = 24, last-recid= 574) DATA FILE #1: (name #4) /opt/oracle/oradata/hsjf/system01.dbf creation size=32000 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 0, index=1 krfil=1 prev_file=0 unrecoverable scn: 0x0000.00000000 04/23/2004 01:20:52 Checkpoint cnt:1567 scn: 0x0000.0148181c 06/22/2004 18:58:46 Stop scn: 0xffff.ffffffff 06/22/2004 18:58:05 Creation Checkpointed at scn: 0x0000.000000ae 07/16/2003 03:40:10 thread:1 rba:(0x1.3.10) enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Offline scn: 0x0000.013b46fd prev_range: 0 Online Checkpointed at scn: 0x0000.013b46fe 05/28/2004 23:37:17 thread:1 rba:(0x1.2.0) enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Hot Backup end marker scn: 0x0000.00000000 aux_file is NOT DEFINED

b.执行Begin backup以后的

我们注意到Checkpoint cnt增加了1,此处触发了一次表空间检查点.

*************************************************************************** DATA FILE RECORDS *************************************************************************** (blkno = 0x6, size = 180, max = 100, in-use = 24, last-recid= 574) DATA FILE #1: (name #4) /opt/oracle/oradata/hsjf/system01.dbf creation size=32000 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 0, index=1 krfil=1 prev_file=0 unrecoverable scn: 0x0000.00000000 04/23/2004 01:20:52 Checkpoint cnt:1568 scn: 0x0000.01481939 06/22/2004 19:02:22 Stop scn: 0xffff.ffffffff 06/22/2004 18:58:05 Creation Checkpointed at scn: 0x0000.000000ae 07/16/2003 03:40:10 thread:1 rba:(0x1.3.10) enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Offline scn: 0x0000.013b46fd prev_range: 0 Online Checkpointed at scn: 0x0000.013b46fe 05/28/2004 23:37:17 thread:1 rba:(0x1.2.0) enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Hot Backup end marker scn: 0x0000.00000000 aux_file is NOT DEFINED

c.执行手工检查点

我们注意到,此时Checkpoint cnt增加,但是scn不再改变

*************************************************************************** DATA FILE RECORDS *************************************************************************** (blkno = 0x6, size = 180, max = 100, in-use = 24, last-recid= 574) DATA FILE #1: (name #4) /opt/oracle/oradata/hsjf/system01.dbf creation size=32000 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 0, index=1 krfil=1 prev_file=0 unrecoverable scn: 0x0000.00000000 04/23/2004 01:20:52 Checkpoint cnt:1569 scn: 0x0000.01481939 06/22/2004 19:02:22 Stop scn: 0xffff.ffffffff 06/22/2004 18:58:05 Creation Checkpointed at scn: 0x0000.000000ae 07/16/2003 03:40:10 thread:1 rba:(0x1.3.10) enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Offline scn: 0x0000.013b46fd prev_range: 0 Online Checkpointed at scn: 0x0000.013b46fe 05/28/2004 23:37:17 thread:1 rba:(0x1.2.0) enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Hot Backup end marker scn: 0x0000.00000000 aux_file is NOT DEFINED

?

d.End backup后的情况

此时数据文件头的冻结被取消,scn开始变化

*************************************************************************** DATA FILE RECORDS *************************************************************************** (blkno = 0x6, size = 180, max = 100, in-use = 24, last-recid= 574) DATA FILE #1: (name #4) /opt/oracle/oradata/hsjf/system01.dbf creation size=32000 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 0, index=1 krfil=1 prev_file=0 unrecoverable scn: 0x0000.00000000 04/23/2004 01:20:52 Checkpoint cnt:1570 scn: 0x0000.01481941 06/22/2004 19:02:39 Stop scn: 0xffff.ffffffff 06/22/2004 18:58:05 Creation Checkpointed at scn: 0x0000.000000ae 07/16/2003 03:40:10 thread:1 rba:(0x1.3.10) enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Offline scn: 0x0000.013b46fd prev_range: 0 Online Checkpointed at scn: 0x0000.013b46fe 05/28/2004 23:37:17 thread:1 rba:(0x1.2.0) enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Hot Backup end marker scn: 0x0000.00000000 aux_file is NOT DEFINED

Checkpoint cnt用于保证在正常操作中使用的数据文件是当前版本 在恢复时防止恢复数据文件的错误版本.Checkpoint cnt是一直递增的,即使表空间处于热备份模式.

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

我们知道:

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

第一次检查数据文件头中的Checkpoint cnt是否与对应控制文件中的Checkpoint cnt一致. 如果相等,进行第二次检查.

第二次检查数据文件头的开始SCN和对应控制文件中的结束SCN是否一致 如果结束SCN等于开始SCN,则不需要对那个文件进行恢复.

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

?

If you have any question,please mail to eygle@itpub.net .

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2004年07月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档