探讨ORACLE的SCN机制(1)

本文深入探讨了Oracle数据库的SCN(System Change Number)机制,包括在数据库打开过程中SCN的比较与检查,以及如何判断是否需要进行实例恢复和介质恢复。通过验证步骤,解释了当数据文件的SCN小于数据库的checkpoint_change#时,系统提示需要进行物理修复的情况。
摘要由CSDN通过智能技术生成

oracle 数据库的打开过程进行的检查操作

       第一步:Oracle将数据文件头中的启动SCN与数据文件检查点SCN比较,即比较v$datafile_header.checkpoint_change#与对应文件v$datafile.checkpoint_change#,同时数据库文件头的checkpoint_change#等于v$database 的checkpoint_change#.
       第二步:第一步成功的情况下,Oracle接下来再比较数据文件头中的SCN和控制文件中数据文件的终止SCN.即比较v$datafile_header.checkpoint_change#与对应文件的v$datafile.last_chage#;如果这个值也匹配,就意味着所有数据块已经提交,因此数据 库不需要进行恢复,此时数据库直接打开。当所有的数据文件都打开之后,在线且可读写的数据文件终止SCN再次被设置为NULL,即把v$datafile.last_chage#设置为NULL,表示数据文件已经打开并能 够正常使用了。有些表空间是只读的,这时控制文件中的系统检查点SCN号会不断增长,而数据文件SCN号和文件头中的启动SCN(会停止更新直到表空间又 设置为可读写),显然这时系统检查点SCN号会大于数据文件SCN和文件头启动SCN。

       下面对上面的结论进行验证:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值