xuesn 发表于 2016-11-13 07:51:32

解决 DB2 日志满问题

  增加增加日志文件数量。用get db cfg 查看主日志文件数,然后加大这个值
  修改日志文件大小:
  update db cfg using logfilsiz 65536;
  实际大小为65536(页数)×4k(块大小);
  增加主日志文件数:
  update db cfg using logprimary 10;
  最多不超过256;
  也可以增加辅助日志文件数:
  update db cfg using logsecond 100;最大不超过254;
  辅助日志文件在需要时分配,不再使用时系统收回。
  也可以不写日志:
  ALTER TABLE A ACTIVATE NOT LOGGED INITIALLY;
  注意当事务提交后,表A就会恢复到logging状态;
  即设置一次只能做一个事务。再要no logging的话,还需要设置。
  总结的常用维护命令:
1、执行df –g /db2_log命令,查看db2_log文件系统的资源使用情况;
2、备份数据库
$db2 backup db testold to /db2_backup/testdb with 1 buffers buffer 128;
 
$db2 backup db datadbold to /db2_backup/datadbdb with 1 buffers buffer 128;
3、查看首活动日志
$db2 get db cfg for testdbold
$db2 get db cfg for datadbold
First active log file= S0000***.LOG 
4、查看空间使用情况
# du -m
0.00    ./lost+found
500.09  ./testdb
502.88  ./datadb
2130.34  .
5、开始删除
$db2 connect to testold
$db2 prune logfile prior to S0000***.LOG
其中S0000***.LOG就是刚刚的首活动日志
页: [1]
查看完整版本: 解决 DB2 日志满问题