Oracle中scn讲解
admin
2023-05-25 18:01:12
0

       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

相关内容

热门资讯

卓世科技荣膺「2026 福布斯... 2026-05-20 10:51:42 作者:狼叫兽 近日,全球权威商业媒体《福布斯》正式发布「...
韩国海军提交核潜艇请示报告,正... 澎湃新闻记者 朱郑勇 实习生 王镱家韩国海军已经向韩国联合参谋本部提交了关于建造核动力潜艇的请示报告...
星元晶算携手清华大学,共筑人形... 深圳和天津2026年5月19日-- 2026年5月19日,星元晶算科技(深圳)有限公司与清华大学天津...
毫米波电缆组件厂家梳理 军工与... 导语:毫米波电缆组件作为高频信号传输的核心部件,在雷达、卫星通信、5G基站等场景中需求持续增长。根据...
618大内存折叠屏手机怎么选?... 随着618购物节临近,不少用户开始考虑升级手中的设备,尤其是对存储空间和性能有更高要求的高端用户。在...
进口不锈钢氢气减压阀十大行业标... 进口不锈钢氢气减压阀最新十大品牌是由多个全球知名权威机构和媒体会定期发布阀门行业相关排名榜单,本排行...
原创 投... 当李彦宏在2026年百度 Create 开发者大会上提出“DAA(日活智能体数)将成为 AI 时代新...
市场监管总局开展居民水电气计量... 记者今天了解到,为持续规范供水供电供气市场秩序,切实维护人民群众切身利益,市场监管总局部署开展居民水...
坚定不移沿着习近平总书记指引的... 5月14日,工人在洛轴集团智能工厂生产线上作业。5月13日,由中信重工牵头研制的国家重点研发计划“移...
2026年郑州市区中招政策发布... 5月20日上午,郑州市教育局召开2026年郑州市中招工作会议。今年,郑州中招考试时间为6月22日-2...