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的具体日志。

相关推荐
P-ShineBeam几秒前
知识图谱-结构化数据的通用LLM推理框架-StructGPT
数据库·人工智能·语言模型·自然语言处理·知识图谱
rchmin1 分钟前
PostgreSQL数据库详细介绍
数据库·postgresql
Ama_tor3 分钟前
pycharm|学会模块(包)编码模式+旧.py重构+struture管理面板
数据库·重构·pycharm
不吃饭的猪8 分钟前
clickhouse-20版本安装部署
数据库·mysql·clickhouse
醉卧考场君莫笑9 分钟前
SQL查询基础
数据库·sql·oracle
三万棵雪松11 分钟前
【AI小智后端部分(五)】
数据库·人工智能·python·语音处理·ai小智
萧曵 丶16 分钟前
MySQL加索引会不会导致数据库锁表?
数据库
lllsure18 分钟前
【MySQL】读写分离
数据库·mysql
胖咕噜的稞达鸭21 分钟前
Linux系统编程:文件系统(CHS LBA地址,Block Group 软硬连接,手搓简化版本的FILE结构体)
android·linux·数据库
gjc59221 分钟前
数据库和缓存稳定性保障-扩容及升级规范
java·开发语言·数据库·缓存