Oracle数据库检查点未完成原因详解

php中文网
发布: 2016-06-07 17:10:06
原创
1146人浏览过

最近在alter日志中发现 Checkpoint not complete 信息产生此问题的原因具体分析:首先说一下checkpoint 是什么?chkpoint是一个数

最近在alter日志中发现 Checkpoint not complete 信息
产生此问题的原因具体分析:
首先说一下checkpoint 是什么?
chkpoint是一个数据库的内部机制,它存在有两个目的:

1. 保证数据的一致性
    系统发生检查点将出发DBWR进程将缓冲区中的脏数据块写入到数据文件,同时更新数据文件中的SCN号,记录联机重做日志文件中LRBA(low redo block address)的位置到控制文件中,当在写入过程中,突然实例崩溃,脏数据块没有完全写入到数据文件中。当实例启动的时候,会检查控制文件中的 终止SCN号,(四种SCN)这时候发现是空的(数据库正常运行的时候是无穷大或者保持为空),就认为数据库没有正常关闭,,需要实例恢复,于是SMON进程根据控制文件中的SCN号,到重做日志文件中取出重做条目重现实例崩溃的那个状态。

2. 数据库实例崩溃后的实例恢复
    当实例恢复的时候,到底从重做日志文件的什么位置开始恢复呢?检查点checkpoint就是记录了一个SCN号,当实例回复的时候从最近的这个检查点做恢复,不必全部恢复重做日志的内容,减少了恢复时间。

   日志切换会触发检查点,当检查点触发后会引起DBWR进程将脏数据块写入数据文件,这个时候写入数据文件的脏数据块已经都写入了联机重做日志中,是安全的,当日志缓冲区的日志写满需要切换日志文件的时候,由于下一个日志文件对应的脏数据块没有完全写入到数据文件中,所以不能被覆盖,于是就发生了Checkpoint not complete。

仿优购鞋子商城整站 for ECSHOP
仿优购鞋子商城整站 for ECSHOP

ECSHOP仿优购鞋子商城整站源码,程序基于ECSHOP 2.7.3 UFT8版本制作,适合服装,鞋子,家居等商城使用。目前程序未添加广告位,请自行在网站后台进行添加。具体添加方法,请查看SHOPEX5站点的相关教程。 安装方法:1。访问 :域名/install2. 按照程序提示进行安装.3.安装完成后,登陆网站后台.选择数据库管理--数据库备份--数据库还原.,导入之前的数据库。4.后台-模板管

仿优购鞋子商城整站 for ECSHOP 0
查看详情 仿优购鞋子商城整站 for ECSHOP

   这时候可能是磁盘的原因导致DBWR写磁盘很慢,或者DBWR进程效率不高,以至于在发生日志切换的时候没有课覆盖的日志文件。这时候可以添加DBWR进程的数,或者添加日志文件组,来解决这个问题。

遂添加一个日志组:
用sysdba登录
alter database add logfile gropu 4 ‘$Oracle_HOME/oradata/SID/redo04.log’ size 100M;
切换日志文件
alter system switch logfile;
查看当前的日志文件是否在使用
select * from v$log

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号