博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DB2 CHNGPGS_THRES 参数
阅读量:4049 次
发布时间:2019-05-25

本文共 652 字,大约阅读时间需要 2 分钟。

--start
之前看书的时候遇到这样一个问题,并不是每次commit都会使record写到磁盘上,而是当被修改的数据页数目达到了CHNGPGS_THRES 数值时,缓冲池中的这些修改的数据页记录就会被“具体化”或者被写到表空间磁盘上。如果这时系统突然停电了,怎么办?用户认为自己已经commit了,可是数据并没有写到磁盘上。
后来我在牛新庄的<循序渐进db2>找到了答案,原来以上问题少分析了一个很重要的东西,那就是日志,当我们commit事务时,我们的事务将会被记录在日志中(db2采用提前写入日志的方式),但对数据做的更改不一定写入磁盘,有可能在缓冲池中,此时,用户将会收到commit成功的消息。还有一种情况,当用户在一个事务中对数据库做大规模操作时,有可能数据已经写入了磁盘,但是commit并没有结束。如果在这两种情况下,系统突然断电,或因其他原因崩溃,那么数据库将会处于一种不一致的状态,当下次启动db2时,db2将会自动启动崩溃恢复,它将根据日志文件,回滚那些没有提交,但数据库已经写入磁盘的事务,重新提交那些已经提交,但数据并没有写入磁盘的事务,以此来保证数据库的一致性。
--[b]更多参见[/b]:[url=http://iamwave.iteye.com/blog/649715]DB2 系列文章目录[/url]
--[b]声明:转载请注明出处[/b]
--last updated 2009.12.29
--written by wave at 2009.12.29
--end
你可能感兴趣的文章
我入行以来java框架的几个阶段&论什么是真正的组件开发&项目中部分源码干货分享
查看>>
java-真正面向配置+组件的开发
查看>>
Mybattis Jpa插件简介
查看>>
java编程奇淫技巧之让java帮我们生成java代码后不停服,直接编译为class并且反射为对象直接使用
查看>>
springMVC源码阅读之FORM参数绑定
查看>>
springBoot SpringMVC解决XSS漏洞 -非重写request 支持普通form提交
查看>>
No plugin found for prefix 'install' in the current project解决方案
查看>>
ZUUL2 使用场景
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
elastic-job 和springboot 集成干货
查看>>
php开发微服务注册到eureka中(使用sidecar)
查看>>
mybatis mybatis plus mybatis jpa hibernate spring data jpa比较
查看>>
也许是世界上最简单最灵活的JAVA CRUD开发方法
查看>>
支付宝生活号服务号 用户信息获取 oauth2 登录对接 springboot java
查看>>
提交jar包到maven中央仓库2019最新版本
查看>>
eclipse servers view tomcat内存配置
查看>>
HandlerExceptionResolver 踩坑记录
查看>>
CodeForces #196(Div. 2) 337D Book of Evil (树形dp)
查看>>
uva 12260 - Free Goodies (dp,贪心 | 好题)
查看>>
uva-1427 Parade (单调队列优化dp)
查看>>