千家信息网

Oracle如何检查点涉及的SCN

发表于:2024-10-09 作者:千家信息网编辑
千家信息网最后更新 2024年10月09日,这篇文章主要介绍Oracle如何检查点涉及的SCN,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 检查点涉及的SCN(1). 数据文件中的文件头启动检查点的scn存储在每个
千家信息网最后更新 2024年10月09日Oracle如何检查点涉及的SCN

这篇文章主要介绍Oracle如何检查点涉及的SCN,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1. 检查点涉及的SCN

(1). 数据文件中的文件头启动检查点的scn

存储在每个数据文件的文件头中

select name,checkpoint_change#

from v$datafile_header;

在安全关闭数据库的过程中,系统会执行一个检查点动作,这时所有数据文件的终止scn都会设置成数据文件头中的那个启动scn的值。

在数据库重新启动的时候,Oracle将文件头中的那个启动scn(存在于各个数据文件里)与数据库文件检查点scn(存在于控制文件里)进行比较,如果这两个值相互匹配,oracle接下来还要比较数据文件头中的启动scn和控制文件中数据文件的终止scn。如果这两个值也一致,就意味着所有数据块的redo记录都已经提交,所有对数据库的修改都没有在关闭数据库的过程中丢失,因此这次启动数据库的过程也不需要任何恢复操作,此时数据库就可以打开了。

(2).数据文件检查点SCN,

存储在控制文件中:

SELECT T.NAME,T.CHECKPOINT_CHANGE#,b.tablespace_name

FROM V$DATAFILE T,dba_data_files b

where t.FILE#=b.file_id;

(3).数据文件的终止scn

存储在控制文件中

select name,last_change#

from v$datafile;

终止SCN在数据库关闭或者表空间脱机是才会涉及到,在正常的数据库操作过程中,所有正处于联机读写模式下的数据文件的终止scn都为null.

在安全关闭数据库的过程中,系统会执行一个检查点动作,这时所有数据文件的终止scn都会设置成数据文件头中的那个启动scn的值。

(4).系统检查点SCN

存储在控制文件中

select t.CHECKPOINT_CHANGE#

from v$database t;

(5). 日志文件的scn

select t.FIRST_CHANGE# 开始时的SCN,t.FIRST_TIME,t.NEXT_CHANGE# 结束时的SCN

from V$log_History t

order by t.FIRST_TIME;

2. 发生完全检查点时:

数据文件头,标识上次处理完的启用scn。

而CKPT进程则将所有数据文件(无论redo log中的数据是否影响到该数据文件)文件头上记录的Start SCN更新为Next SCN; (通过视图v$datafile_header的字段checkpoint_change#可以查询)

同时将控制文件中的System Checkpoint SCN更新为Next SCN; (通过视图v$database的字段checkpoint_change#可以查询)

每个数据文件对应的Datafile Checkpoint)也更新为Next SCN;(通过视图v$datafile的字段checkpoint_change#可以查询)

从Low SCN到Next SCN之间的所有redo记录的数据就被DBWn进程写入数据文件中.

3. 系统是如何产生一个最新的SCN的:

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

我们可以通过函数SCN_TO_TIMESTAMP将其转换回timestamp:

select dbms_flashback.get_system_change_number, SCN_TO_TIMESTAMP(dbms_flashback.get_system_change_number)

from dual;

也可以用函数timestamp_to_scn将一个timestamp转换为SCN:

select timestamp_to_scn(SYSTIMESTAMP) as scn

from dual;

4. SCN除了作为反映事务数据变化并保持同步外,它还起到系统的"心跳"作用--每隔3秒左右系统会刷新一次系统SCN。

以上是"Oracle如何检查点涉及的SCN"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

数据 文件 检查点 检查 数据库 系统 控制 过程 存储 字段 视图 更新 查询 安全 两个 内容 函数 动作 数字 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 宝马3系显示无法连接服务器 网络安全宣传周征集 安卓邮箱拦截软件开发 江苏工业网络技术参考价格 学校网络安全包括哪些方面 emid数据库 办公系统和业务系统软件开发 小型应用软件开发需要哪些人 数据库根据生日查询年龄 厦门天宝服务器到杏林高速要多久 睢县乡情网络技术服务有限公司 钦州市和恒网络技术苏剑 中国网络安全测评中心 电网技术 期刊 网络安全 游莱科技是属互联网公司吗 安庆邮储银行网络安全培训 什么软件开发孩子算数智力 半条命2怎么进入安全服务器 手机网络安全认知 人人参与网络安全宣传周 tbc适合休闲玩家的服务器 诛仙佛塔神话合并哪个服务器 发展网络技术促进社会化 存储服务器是公共磁盘吗 使用正常的服务器突然拒绝了密码 网络安全手抄报颜色好看 爱情火箭 数据库 电子书软件开发文档 服务器的辐射大 架设方舟手游服务器
0