SCN浅析

我们重点讨论几个SCN

控制文件中的SCN

1、系统检查点SCN

当一个检查点动作完成以后,Oracle就把系统检查点的SCN存储到控制文件中

image

2、数据文件检查点SCN

当一个检查点动作完成以后,Oracle就把每一个数据文件的SCN单独存放在控制文件中

image

1、为了显示,首先看一下DESC,确定每一个列的大小

2、设置linesize,保证一行中能够容纳所有的列

当然也要考虑实际的大小

同时还可以设置pagesize的大小

3、终止SCN

联机读写模式下面的所有的数据文件的终止SCN为空或者无限大

image

数据文件中的SCN

1、启动SCN

image

数据文件的检查点信息写入到每一个数据文件的头部

1、数据库正常运行期间,控制文件中的系统检查点SCN、控制文件中数据文件检查点信息、每个数据文件头部的数据文件检查点SCN,都是相同的

2、控制文件中每个数据文件的终止SCN都为NULL

数据库正常关闭,系统执行一个CHECKPOINT,将所有的数据文件的终止SCN(位于控制文件中)设置成数据文件头部的启动SCN

数据库安全关闭以后,四个SCN应该是相同的

数据库启动

1、数据文件头部的启动SCN与控制文件中数据文件检查点SCN比较

如果相同,继续

2、数据文件头部的启动SCN与控制文件中数据文件终止SCN比较

如果相同,那么表示正常关机,不需要恢复

3、数据库打开,控制文件中数据文件终止SCN被设置为NULL

数据库被打开,并且正常使用

 

熊熊物语:说白了吧,UNDO表空间就是一个历史滚滚长流,每一个SCN版本号可以理解成一个已经过去的朝代,如果你想玩穿越,就得有个具体的SCN版本号,才能穿越过去

那为什么SCN号不对应不行呢,很简单,比如一个康熙当政的时候,他媳妇儿是皇后,等他挂了,雍正继位,皇太后就是德妃娘娘了,那个皇后怎么办,不能再用前朝的SCN号了,就得改新的SCN号,叫皇太妃,对吧(哈哈,架空历史,假设假设)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值