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

相关推荐
OnlyEasyCode42 分钟前
Navicat 任务自动备份指定数据库
数据库
if else1 小时前
Redis 哨兵集群部署方案
数据库·redis
yejqvow121 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
了不起的云计算V1 小时前
从DeepSeek V4适配看国产算力的三个拐点
数据库·人工智能
qq_189807031 小时前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
norq juox1 小时前
MySQL 导出数据
数据库·mysql·adb
qq_349317482 小时前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
952362 小时前
Spring IoC&DI
java·数据库·spring
尚雷55802 小时前
从电商订单支付更新,吃透 Oracle 数据修改的底层设计哲学与全组件协同原理
数据库·oracle
2401_832365522 小时前
Chart.js 4 中基于数据实际范围的线性渐变填充方案
jvm·数据库·python