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

相关推荐
m0_5967490912 小时前
Golang如何做Clean Architecture_Golang整洁架构教程【详解】
jvm·数据库·python
半夜修仙13 小时前
Redis入门
数据库·redis·缓存
KaMeidebaby13 小时前
卡梅德生物技术快报|单 B 细胞抗体筛选服务:技术架构、流程实现与数据验证
前端·数据库·其他·百度·新浪微博
2401_8676239813 小时前
如何管理应用锁_DBMS_LOCK申请自定义锁控制并发逻辑
jvm·数据库·python
yzs8713 小时前
SQL Sever Pragmatic Bitmap过滤技术解析
数据库·sql
woxihuan12345613 小时前
SQL数据分析如何剔除极端异常值_配合窗口函数检测偏离度
jvm·数据库·python
2303_8212873813 小时前
Go 中通过指针实现变量名的“间接引用”与原地修改
jvm·数据库·python
ClouGence13 小时前
TiCDC 够用吗?聊聊 TiDB 同步的几个关键问题
数据库·分布式·后端
iuvtsrt13 小时前
SQL如何高效提取大表前几行:分页查询与OFFSET优化
jvm·数据库·python
彳亍10113 小时前
如何用 Dask 替代 Pandas 实现高效 Excel 数据处理
jvm·数据库·python