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

相关推荐
小蒜学长3 分钟前
python餐厅点餐系统(代码+数据库+LW)
数据库·spring boot·后端·python
岳麓丹枫0016 分钟前
PostgreSQL 中 create database 中的注意事项
数据库·postgresql
梦想画家6 分钟前
告别关键词!PostgreSQL+pgvector 玩转语义和图像检索
数据库·postgresql
DarkAthena15 分钟前
【DOCKER+ORACLE】使用docker-compose一键拉起一个ORACLE-ADG一主一备环境
docker·oracle·容器
爱潜水的小L31 分钟前
自学嵌入式day41,数据库
jvm·数据库
橙汁味的风33 分钟前
《数据库系统概论》陈红、卢卫 - 9 - 关系数据库存储管理
数据库·数据库系统概论
最贪吃的虎37 分钟前
Redis 除了缓存,还能干什么?
java·数据库·redis·后端·缓存
u01316355142 分钟前
Oracle 报错:PLS-00201: 必须声明标识符‘DBMS_LOCK‘的解决方法
数据库·oracle
Awkwardx1 小时前
MySQL数据库—MySQL数据类型
数据库·mysql
郑泰科技1 小时前
hbase 避坑F:\hbase\hadoop\sbin>start-dfs.cmd 系统找不到文件 hadoop。
大数据·数据库·hadoop·hdfs·hbase