<IBM DB2>《IBM DB2方案 <启用归档日志和扩容日志空间>》

《IBM DB2方案 <启用归档日志>》

  • 1 数据库日志
    • 1.1 循环日志记录
    • 1.2 归档日志记录
  • 2 启用归档日志记录模式
    • 2.1 开启归档日志
    • 2.2 设置归档路径
    • 2.3 使备份生效
  • 3 事务日志满

1 数据库日志

数据库日志记录是高可用的数据库解决方案设计的重要部分,因为从故障中恢复,以及同步主数据库和辅助数据库都需要用到数据库日志。

DB2数据库日志模式分为两种:
循环日志记录
归档日志记录

1.1 循环日志记录

1、循环日志的配置: logarchmeth1 和 logarchmeth2 数据库配置参数设置为 OFF
2、数据库创建时默认缺省的日志记录方式。
3、该模式下,只允许对数据库执行完整的脱机数据库备份
4、该模式下,进行完整备份时,用户不可访问

1.2 归档日志记录

归档日志记录专门用于前滚恢复。归档日志是指已将其从活动日志路径复制到其他位置的日志文件。

2 启用归档日志记录模式

2.1 开启归档日志

1、设置数据库参数 - 启用归档日志记录

//配置前
$ db2 get db cfg | grep -i logretain
Log retain for recovery enabled             (LOGRETAIN) = OFF
//进行配置。需要断开数据库连接后生效。
$ db2 update db cfg using logretain on
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.
SQL1363W  One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, all applications must disconnect from this database before the changes become effective.

2.2 设置归档路径

2、配置数据库参数 - 设置归档路径

$ db2 update db cfg for tycjdb using LOGARCHMETH1 DISK:/db2data/tycjlog

2.3 使备份生效

3、需要离线备份使配置生效。

// 杀掉进程
$ db2 force applications all
// 离线备份
$ db2 backup db testdb to /db2home/db2backup
Backup successful. The timestamp for this backup image is : 20180314110010

3 事务日志满

在进行大数据的导入的时候,出现事务日志满的情况,告警SQL0964C。即使用了所有的日志文件空间,无法处理该事务,导致事务回滚。

以下通过实际情况,来做扩容日志大小。

//当前数据库日志配置
db2 get db cfg for dbname | grep -i log
日志文件大小(4KB) (LOGFILSIZ) = 1024   ##(每个日志文件大小为1024*4KB=4MB)
主日志文件的数目     (LOGPRIMARY) = 30
辅助日志文件的数目   (LOGSECOND) = 5

//增大日志
-- 修改日志文件大小:
update db cfg for  using LOGFILSIZ 4096
-- 修改主日志文件个数:
update db cfg for  using LOGPRIMARY 50
-- 修改辅助日志文件个数:
update db cfg for  using LOGSECOND 10

你可能感兴趣的:(#,DB2,数据库,sql,java,DB2,日志)