千家信息网

Oracle中scn讲解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,SCNSystem Change Numbers (SCNs)&System Commit Numbers(系统改变号&系统提交号)A system change number (SCN) is a
千家信息网最后更新 2026年11月01日Oracle中scn讲解

SCN
System Change Numbers (SCNs)&System Commit Numbers(系统改变号&系统提交号)
A system change number (SCN) is a logical, internal time stamp used by Oracle Database;
********************************************************************************************************


SCN特点:
SCN本身也是一种时间
SCN是从你建库开始单调递增的序列;当你将SCN号用完了,数据库就不能运行; 但是几百年之内是不会用完的!
SCN是一个重要机制,在数据恢复、Data Guard、Streams复制、RAC 节点间的同步等各个功能中起着重要作用;
*********************************************************************************************************
Oracle数据库SCN的种类:

1.数据库当前的SCN

SYS@orcl11g> select current_scn from v$database;

CURRENT_SCN
--------------------
1159919

SYS@orcl11g> select dbms_flashback.get_system_change_number() from dual;

DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER()
----------------------------------------------------------------------
1159919

SYS@orcl11g>select dbms_flashback.get_system_change_number() from dual
2 union all
3* select current_scn from v$database

DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER()
----------------------------------------------------------------------
1159919
1159919

2.数据库的检查点scn(系统scn) -- 来源控制文件,用来标识当前数据库的数据更新的信息(用来表示数据库的更新行为)
SYS@orcl11g> select checkpoint_change#,current_scn from v$database;

CHECKPOINT_CHANGE# CURRENT_SCN
-------------------------------- ----------------------
1666278 1676455

3.数据文件的检查点scn --来源控制文件,标识每一个文件是什么时候同步的
SYS@orcl11g> select file#,checkpoint_change# from v$datafile order by 1;

FILE# CHECKPOINT_CHANGE#
----------- --------------------------------
1 1666278
2 1666278
3 1666278
4 1666278
5 1666278
6 1666278
7 1384282
8 1666278
9 1666278

SYS@orcl11g> select tablespace_name,file_id from dba_data_files where file_id=7;

TABLESPACE_NAME FILE_ID
------------------------------ ----------
TBS02 7

SYS@orcl11g> select tablespace_name,status from dba_tablespaces where tablespace_name='TBS02';

TABLESPACE_NAME STATUS
------------------------------ ------------
TBS02 OFFLINE


4.数据文件头部的检查点SCN -- 来源于数据文件头部

SYS@orcl11g> select file#,checkpoint_change# from v$datafile_header;

FILE# CHECKPOINT_CHANGE#
--------- ---------------------------------
1 1676699
2 1676699
3 1676699
4 1676699
5 1676699
6 1676699
7 1676699
8 0
9 1676699

9 rows selected.
如果是0的话,说明数据文件已经离线,不再读取这个数据文件

5.数据文件的last_change# --数据文件的关闭SCN(结束SCN)

SYS@orcl11g> select file#,checkpoint_change#,last_CHANGE# from v$datafile;

FILE# CHECKPOINT_CHANGE# LAST_CHANGE#
---------- -------------------------------- ----------------------
1 1737727 (null)
2 1737727 (null)
3 1737727 (null)
4 1737727 (null)
5 1737727 (null)
6 1737727 (null)
7 1737727 (null)
8 1737727 (null)
9 1737727 (null)

那系统是如何产生一个最新的 SCN 的?
是由当时的 timestamp 转换过来的。每当需要产生一个最新的 SCN 到 redo 记录时,系统获取当时的 timestamp,将其转换为数字作为 SCN。

TIME & SCN的相互转换函数:

SYS@orcl11g> select scn_to_timestamp(1906338) from dual;

SCN_TO_TIMESTAMP(1906338)
------------------------------------------------
26-JUN-13 10.52.09.000000000 AM


SYS@orcl11g> select timestamp_to_scn(to_timestamp('2013-06-26 10:53:27','yyyy-mm-dd hh34:mi:ss')) from dual;

TIMESTAMP_TO_SCN(TO_TIMESTAMP('2013-06-2610:53:27','YYYY-MM-DDHH24:MI:SS'))
-----------------------------------------------------------------------------------------------------------------
1906370

数据 文件 数据库 系统 来源 检查点 检查 重要 头部 标识 同步 控制 更新 单调 作用 信息 函数 功能 完了 序列 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 百单网互联网科技有限公司怎么样 互联网科技工作委员会主任 互联网女皇 腾讯科技 大白互联网科技 海南购全球互联网科技 哈尔滨秒房互联网科技有限公司 互联网科技公司的市场部门 现代科技和互联网有关系吗 团飞科技与伯堂互联网服务平台 成都铂石互联网科技做什么的 中国航天科技大学国际工业互联网 崇明区互联网教育科技售后服务 翼展科技 首家互联网医院 南博望互联网科技有限公司 广州百诚互联网科技有限公司官网 21世纪互联网科技成就 互联网金融运营模式中的金融科技 北京品多多互联网科技有限公司 华人运通互联网科技公司 精品咖啡豆 互联网科技公司起名 互联网巨头反垄断金融科技 菲比寻常互联网科技 互联网科技公司介绍 互联网科技股午盘股票涨跌 广州恒生互联网科技有限 银川新华互联网科技学校是国营吗 互联网时代高科技布局 陕西彩京云互联网科技有限公司
0