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

相关推荐
IronMurphy22 分钟前
Redis拷打第二讲
数据库·redis·缓存
星月昭铭35 分钟前
5步在Trae中配置SQLcl MCP,让AI直接操作Oracle数据库
数据库·oracle·ai编程
phltxy43 分钟前
Redis Set:原理、命令与实战场景详解
数据库·redis·缓存
他是龙55143 分钟前
SQLi-Labs 通关笔记(Less-38 ~ Less-53):堆叠注入与 ORDER BY 注入
数据库·笔记·less
今天也是元气满满的一天呢1 小时前
20260512-SQL学习大览
数据库·sql·学习
北秋,1 小时前
Web Security Academy 第二关:SQL 注入登录绕过
数据库·sql
思麟呀1 小时前
MySQL基础CRUD语句
数据库·mysql
funnycoffee1231 小时前
cisco Firepower 4110 9300 FXOS set chassis hostname
java·服务器·数据库
六月雨滴1 小时前
Oracle 数据库诊断文件与故障排查
数据库
草莓熊Lotso1 小时前
【Linux网络】从 0 到 1 实现高性能 UDP 聊天室:深入拆解 Linux 网络编程与线程池架构
linux·运维·服务器·网络·数据库·c++·udp