oracle-SCN系统改变号

SCN

system change number

我们看到的SCN是一串数字,由时间经过函数算出的,其实就是时间。但时间的比较复杂,不如转换成数字比较。

给一个日志加scn号,其实就是给日志加上时间点。

2常见的SCN

对于scn的理解

控制文件中有两个scn,开始和结束,数据文件头部也有一个scn号。

当数据库正常运行时,控制文件的开始scn号和数据文件的scn号一直,结束scn号为空。当正常关闭数据库时,三个号统一一致。

当非正常关闭时,结束scn号未被写入,再启动数据库时,由于结束scn号为空,数据库知道异常关闭,则会进行实例异常恢复。

在日志文件中,每一条日志都有scn号,而且日志循序写的。同时每个日志块在头部也有开始scn号和nextscn号。

inactive是表示buffer pool脏块写进磁盘去,可以被覆盖。

active表示buffer pool脏块还没写进磁盘去,不可以被覆盖,实例恢复需要。

current表示当前所用的日志文件。

所以系统和文件的SCN是与最老的 active的日志的first的SCN一致的。

具体的实例恢复,还得定位到最老的*active的日志里面的LRBA的具体日志。

相关推荐
念越13 小时前
MySQL报错:Column count doesn‘t match value count at row 1 解决方案(超详细)
数据库·mysql
SmartBrain13 小时前
FastAPI实战(第二部分):用户注册接口开发详解
数据库·人工智能·python·fastapi
倔强的石头_14 小时前
一卡通核心交易平台的国产数据库实践解析:架构、迁移与高可用落地
数据库
9523614 小时前
MySQL存储过程和触发器
数据库·mysql
x***r15114 小时前
phpstudy_x64_8.1.1.3安装教程(含Apache/MySQL启动与端口修改)
数据库·mysql·apache
笨蛋不要掉眼泪14 小时前
Sentinel 流控规则详解:三种模式与三种效果实战指南
java·jvm·数据库·后端·sentinel
cjl_85200815 小时前
MySQL-递归查询
数据库·windows·mysql
一个响当当的名号15 小时前
lectrue15 并发控制理论
数据库
野犬寒鸦16 小时前
Java8 ConcurrentHashMap 深度解析(底层数据结构详解及方法执行流程)
java·开发语言·数据库·后端·学习·算法·哈希算法
tod11316 小时前
Redis 分布式锁进阶:从看门狗到 Redlock 的高可用实践
数据库·redis·分布式