`
iihero
  • 浏览: 254840 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle中SCN的理解

阅读更多

系统检查点scn(v$database(checkpoint_change#))
数据文件检查点(v$datafile(checkpoint_change#))
数据文件终止scn(v$datafile(last_change#))

数据文件中存放的检查点
启动scn (v$datafile_header(checkpoint_change#)

1、系统检查点scn
当一个检查点动作完成之后,Oracle就把系统检查点的SCN存储到控制文件中。
select checkpoint_change# from v$database
2、数据文件检查点scn
当一个检查点动作完成之后,Oracle就把每个数据文件的scn单独存放在控制文件
中。
select name,checkpoint_change# from v$datafile
3、启动scn
Oracle把这个检查点的scn存储在每个数据文件的文件头中,这个值称为启动scn,
因为它用于在数据库实例启动时,检查是否需要执行数据库恢复。
select name,checkpoint_change# from v$datafile_header
4、终止scn
每个数据文件的终止scn都存储在控制文件中。
select name,last_change# from v$datafile
在正常的数据库操作过程中,所有正处于联机读写模式下的数据文件的终止scn都为null.
5、在数据库运行期间的scn值
在数据库打开并运行之后,控制文件中的系统检查点、控制文件中的数据文件检查点scn
和每个数据文件头中的启动scn都是相同的。控制文件中的每个数据文件的终止scn都为null.

在安全关闭数据库的过程中,系统会执行一个检查点动作,这时所有数据文件的终止scn
都会设置成数据文件头中的那个启动scn的值。在数据库重新启动的时候,
Oracle将文件头中的那个启动scn与数据库文件检查点scn进行比较,
如果这两个值相互匹配,oracle接下来还要比较数据文件头中的启动scn和控制文件
中数据文件的终止scn。如果这两个值也一致,就意味着所有数据块多已经提交,所有
对数据库的修改都没有在关闭数据库的过程中丢失,因此这次启动数据库的过程
也不需要任何恢复操作,此时数据库就可以打开了。当所有的数据库都打开之后,
存储在控制文件中的数据文件终止scn的值再次被更改为null,
这表示数据文件已经打开并能够正常使用了。

分享到:
评论

相关推荐

    个人经验总结:Oracle数据库SCN号详解

    通过对Oracle数据库中不同类型的SCN及其用途的详细了解,我们可以更好地理解数据库如何确保数据的一致性和完整性,以及如何在发生故障时有效地进行恢复。掌握SCN的相关知识对于Oracle数据库管理员来说至关重要,有助...

    Oracle SCN机制解析

    Oracle SCN(System Change Number)机制是Oracle数据库中用于追踪和管理数据变化的关键组件。SCN是一个不断递增的数字,确保了数据库能够准确地识别和处理事务中的数据修改,尤其是在故障恢复、Data Guard、Streams...

    BLOG_Oracle_lhr_Oracle SCN的一点研究.pdf

    在掌握Oracle SCN的知识点时,重要的是理解SCN的机制、它在Oracle数据库中的作用,以及如何通过查询和管理SCN来维护数据库的完整性和一致性。SCN的概念不仅有助于理解Oracle数据库的运作,也对于进行数据库管理和...

    Oracle系统改变号SCN详解

    在Oracle数据库中,SCN被用来跟踪并确保事务的正确提交和回滚,以及在数据库恢复过程中的精确性。 SCN的设计非常巧妙,它的值非常大,几乎不可能达到上限,从而保证了数据库操作的无冲突性。数据库管理员可以通过...

    ORACLE SCN问题解析

    Oracle SCN(System Change Number)是...综上所述,理解并管理Oracle的SCN对于维护数据库的稳定性和性能至关重要。面对SCN异常增长的问题,需要结合补丁更新、参数优化和应用程序的调整,以确保系统的长期稳定运行。

    oracle SCN机制详解

    Oracle SCN(System Change Number)机制是Oracle数据库中用于跟踪和保证数据一致性的重要组成部分。SCN是一个不断递增的数字,代表了数据库中的时间线,它记录了每一次对数据库的修改。Oracle利用SCN来确定数据的...

    oracle scn 详解

    **SCN (System Change Number)** 是Oracle数据库中用于标识数据库状态变化的一种内部编号机制。它是一个递增的数字,每当数据库发生更新操作时,SCN就会增加。这个机制主要用于跟踪数据库的变更历史,对事务处理、...

    Oracle SCN机制解析.docx

    理解SCN的工作原理对于理解和维护Oracle数据库的诸多高级特性,如数据恢复、Data Guard、Streams复制以及RAC集群同步至关重要。 在Oracle数据库中,数据变更的过程通常涉及以下步骤: 1. 事务开始。 2. 数据从数据...

    浅谈oracle SCN机制

    Oracle数据库的System Change Number (SCN) 是一个关键的机制,用于跟踪和管理数据库中的更改。SCN是一个不断增加的数字,它确保了Oracle能够准确地识别哪些数据已更新,哪些还未更新,这对于数据恢复、Data Guard、...

    Oracle SCN与检查点详解

    Oracle SCN(System Change Number)是Oracle数据库中一个关键的概念,它是数据库内部的...在实际操作中,监控SCN的增涨、检查点的频率和效率,以及正确理解和应用检查点机制,对于数据库管理员来说是必不可少的技能。

    oracle SCN跟TIMESTAMP之间转换

    Oracle SCN (System Change Number) 和 TIMESTAMP 是两种不同的时间表示方式,它们在Oracle数据库中用于跟踪事务和数据的历史。SCN 是一个全局递增的数字,每次数据库发生改变时都会增加,它代表了数据库中的一个...

    ORACLE SCN增长过快问题研究和解决方案探索.pdf

    【Oracle SCN增长过快问题详解】 Oracle数据库中的System Change Number(SCN)是数据库内部用于追踪事务时间顺序的关键机制。...通过对Oracle数据库的深入理解和细致监控,可以有效预防和解决SCN异常增长带来的挑战。

    SCN号的闪回

    "SCN号的闪回"是Oracle数据库中一个重要的恢复机制,全称为System Change Number,它是Oracle数据库中记录事务更改的唯一序列号。SCN是一个不断增加的数字,每次数据库中的数据发生变化时,都会生成一个新的SCN,...

    Oracle中有后悔药卖吗?Oracle中的回闪查询: Oracle 10g 回闪实验文档

    **Oracle Flashback Database**是Oracle 10g中最强大的回闪特性之一。它可以通过简单的SQL命令将整个数据库恢复到某个特定的时间点或系统更改编号(SCN)。该命令可以指定目标时间为日期格式、SCN或者序列号等。 ```...

    scn号与恢复研究.pdf

    在Oracle数据库中,SCN(System Change Number)是一个非常重要的概念,它用来标识数据库中的任何改变。SCN是Oracle内部使用的数字序列,每当数据库发生变化时(如插入、更新、删除等操作),SCN就会递增。SCN在恢复...

    oracle中关于flashback闪回的介绍

    ### Oracle Flashback 闪回技术详解 #### 一、引言 在Oracle数据库管理中,闪回技术(Flashback)是一种非常重要的数据恢复工具。它允许用户和管理员以一种简单而...希望本文能帮助您更好地理解Oracle中的闪回技术。

Global site tag (gtag.js) - Google Analytics