ITPub博客

首页 > 数据库 > 数据库开发技术 > 14

14

原创 数据库开发技术 作者:simkyo 时间:2013-11-28 10:08:44 0 删除 编辑
循环日志和归档日志的选择;
循环日志是默认日志模式,支持rollback,崩溃恢复和back/restore,但无法保留日志,因此不支持前滚恢复,一般用于olap,数据仓库等查询类多的系统。
对于交易型系统,建议采用归档日志,尽管运维相对复杂,但能确保当出现问题需要恢复的时候,可以利用日志进行数据前滚,减少数据丢失。

在循环日志模式下,大对象(LOB)和长字段(long varchar)不记入日志。

37、修改日志空间大小
~>db2 update db cfg for sample using logsecond 20
~>db2 update db cfg for sample using logprimary 20
~>db2 update db cfg for sample using logfilsiz 10000

对某些操作不记录日志,可以使用
db2 +c "alter table Mytable activate not logged initially "
db2 +c "delete from Mytable"
db2 +c "commit"    # +c 代表关闭自动提交

38、经常遇到的日志问题
A.事务日志满的问题
1.事务太大,可修改日志空间大小
2.操作数据量很小,早期的事务未提交
通过数据库中的快照(database snapshot)中的“Appl id holding the oldest transaction”找到最早未提交的事务所属的应用,假如这里是228

~>db2 get snapshot for application agentid 228
~>db2 "force application (228)"   # 杀掉此应用

3.删除大数据量,可以分次删除,或者使用不记录日志的方法删除
如:load from/dev/null of dev replace into
  
快速插入1000条数据,验证日志一旦写满就会归档,并不是事务已经提交,并且数据写到磁盘才会归档
db2 +c "begin atomic declare i int default 0;while (i<1000) do insert into t1 values('aaa'||char(i),'bbb'||char(i)); set i = i+1;end while;end"

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12961536/viewspace-1061368/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 13
下一篇: 15
请登录后发表评论 登录
全部评论

注册时间:2013-06-20

  • 博文量
    193
  • 访问量
    165517