DB2日志频繁归档的原因

[test@demo db2cfg]$ db2 list history archive log all for testdb
 Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log  Backup ID
 -- --- ------------------ ---- --- ------------ ------------ --------------
  X  D  20190108163458      1    D  S0000033.LOG C0000002      
 ----------------------------------------------------------------------------
    Comment:                                                                  
 Start Time: 20190108163458
   End Time: 20190108163458
     Status: A
 ----------------------------------------------------------------------------
  EID: 77 Location: /db2cfg/test/TESTDB/NODE0000/C0000002/S0000033.LOG

[test@demo db2cfg]$ ll -h /db2cfg/test/TESTDB/NODE0000/C0000001
total 180K
-rw-r----- 1 test test 24K Jan  8 16:06 S0000020.LOG
-rw-r----- 1 test test 12K Jan  8 16:06 S0000021.LOG
-rw-r----- 1 test test 12K Jan  8 16:06 S0000022.LOG
-rw-r----- 1 test test 24K Jan  8 16:14 S0000023.LOG
-rw-r----- 1 test test 12K Jan  8 16:14 S0000024.LOG
-rw-r----- 1 test test 12K Jan  8 16:17 S0000025.LOG
-rw-r----- 1 test test 12K Jan  8 16:18 S0000026.LOG
-rw-r----- 1 test test 12K Jan  8 16:20 S0000027.LOG
-rw-r----- 1 test test 12K Jan  8 16:25 S0000028.LOG
-rw-r----- 1 test test 12K Jan  8 16:25 S0000029.LOG
-rw-r----- 1 test test 12K Jan  8 16:28 S0000030.LOG
-rw-r----- 1 test test 12K Jan  8 16:28 S0000031.LOG
-rw-r----- 1 test test 12K Jan  8 16:31 S0000032.LOG

查看上面的归档日志大小都很小,而且比较频繁,是为什么呢?
正常情况下,只要一个日志文件写满了(不管活动还是非活动,含有未提交事务或事务虽提交
但是数据还未刷入磁盘的日志是活动日志)就会被归档,
但是在归档日志模式下,某些场景,如在数据库deactivate/发出archive log命令/
online backup结束
后等也会触发日志管理器对日志进行归档(不管日志是否写满都截断当前
日志进行归档,然后开始使用新的日志文件)。
以上我的环境是由于测试环境,频繁的做online backup测试和在没有显式激活数据库情况
下频繁connect和disconnect数据库,所以导致于频繁的归档且大小非常小。

数据库的激活有两种方式:
显式激活 :手动发出激活数据库命令db2 activate db <dbname>,
隐式激活: 第一个连接连到数据库时,db2 connect to <dbname>就会隐式地激活数据库,

如果在没使用 activate db命令激活数据库下,第一次的连接时候,db2会分配所有资源如缓
冲池等,当所有对数据库连接断开后,数据库就会自动deactivate,然后对日志进行归档,比如
频繁执行 db2 connect to <dbname>
              db2 terminate/db2 connect reset
数据库频繁自动的deactivate,就会导致于频繁归档;

如果采用db2 activate db <dbname>显式激活数据库,所有连接断开后,DB2并不会自动
deactivate数据库,也就不会触发日志归档

-----------
另,在线的reorg操作为了保证可恢复性,也会记录大量日志,需要的日志空间取决于要移动
的行数,索引键大小和个数,因此可能是表大小的好几倍,因此在线reorg也可能看到大量的
归档日志生成,比如备份软件tsm就有许多因为在线reorg产生大量归档日志的问题案例。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值