DB2 开启归档模式

windows

查看db2 test库日志相关参数配置情况
(windows) db2 get db cfg for test |findstr /i “log”
C:\Program Files\IBM\SQLLIB\BIN>db2 get db cfg for test |findstr /i “log”
目录高速缓存大小(4KB) (CATALOGCACHE_SZ) = 260
日志缓冲区大小(4KB) (LOGBUFSZ) = 98
日志文件大小(4KB) (LOGFILSIZ) = 1024
主日志文件的数目 (LOGPRIMARY) = 13
辅助日志文件的数目 (LOGSECOND) = 4
已更改的至日志文件的路径 (NEWLOGPATH) =
日志文件路径 = C:\DB2\NODE0000\SQL00001\SQLOGDIR
溢出日志路径 (OVERFLOWLOGPATH) =
镜像日志路径 (MIRRORLOGPATH) =
首个活动日志文件 = S0000001.LOG
磁盘上已满的块日志 (BLK_LOG_DSK_FUL) = NO
事务使用的最大主日志空间的百分比 (MAX_LOG)= 0
1 个活动 UOW 的活动日志文件的数目 (NUM_LOG_SPAN) = 0
启用的恢复的日志保留 (LOGRETAIN) = OFF
第一个日志归档方法 (LOGARCHMETH1) = DISK:c:\db2\archive
logarchmeth1 的选项 (LOGARCHOPT1) =
第二个日志归档方法 (LOGARCHMETH2) = OFF
logarchmeth2 的选项 (LOGARCHOPT2) =
在索引构建期间记录页 (LOGINDEXBUILD) = OFF

其中参数LOGARCHMETH1,LOGARCHMETH2表示归档模式的开启情况,test库是开启归档的,路径是放在c盘的\db2\archive\下

现在我将test库的归档模式关闭:
db2 update db cfg for test using LOGARCHMETH1 off

C:\Program Files\IBM\SQLLIB\BIN>db2 update db cfg for test using LOGARCHMETH1 off
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

然后再次来看归档日志情况:
C:\Program Files\IBM\SQLLIB\BIN>db2 get db cfg for test|findstr /i “log”
目录高速缓存大小(4KB) (CATALOGCACHE_SZ) = 260
日志缓冲区大小(4KB) (LOGBUFSZ) = 98
日志文件大小(4KB) (LOGFILSIZ) = 1024
主日志文件的数目 (LOGPRIMARY) = 13
辅助日志文件的数目 (LOGSECOND) = 4
已更改的至日志文件的路径 (NEWLOGPATH) =
日志文件路径 = C:\DB2\NODE0000\SQL00001\SQLOGDIR
溢出日志路径 (OVERFLOWLOGPATH) =
镜像日志路径 (MIRRORLOGPATH) =
首个活动日志文件 = S0000001.LOG
磁盘上已满的块日志 (BLK_LOG_DSK_FUL) = NO
事务使用的最大主日志空间的百分比 (MAX_LOG)= 0
1 个活动 UOW 的活动日志文件的数目 (NUM_LOG_SPAN) = 0
启用的恢复的日志保留 (LOGRETAIN) = OFF
第一个日志归档方法 (LOGARCHMETH1) = OFF ---------归档变成off,表示未开启归档模式
logarchmeth1 的选项 (LOGARCHOPT1) =
第二个日志归档方法 (LOGARCHMETH2) = OFF
logarchmeth2 的选项 (LOGARCHOPT2) =
在索引构建期间记录页 (LOGINDEXBUILD) = OFF

可以看到,归档模式变成off了。

现在再次改回归档模式:
db2 update db cfg for test using LOGARCHMETH1 disk:c:\db2\archive\

C:\Program Files\IBM\SQLLIB\BIN>db2 update db cfg for test using LOGARCHMETH1 disk:c:\db2\archive
DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

修改成功,查看归档情况:
C:\Program Files\IBM\SQLLIB\BIN>db2 get db cfg for test |findstr /i “log”
目录高速缓存大小(4KB) (CATALOGCACHE_SZ) = 260
日志缓冲区大小(4KB) (LOGBUFSZ) = 98
日志文件大小(4KB) (LOGFILSIZ) = 1024
主日志文件的数目 (LOGPRIMARY) = 13
辅助日志文件的数目 (LOGSECOND) = 4
已更改的至日志文件的路径 (NEWLOGPATH) =
日志文件路径 = C:\DB2\NODE0000\SQL00001\SQLOGDIR
溢出日志路径 (OVERFLOWLOGPATH) =
镜像日志路径 (MIRRORLOGPATH) =
首个活动日志文件 = S0000001.LOG
磁盘上已满的块日志 (BLK_LOG_DSK_FUL) = NO
事务使用的最大主日志空间的百分比 (MAX_LOG)= 0
1 个活动 UOW 的活动日志文件的数目 (NUM_LOG_SPAN) = 0
启用的恢复的日志保留 (LOGRETAIN) = OFF
第一个日志归档方法 (LOGARCHMETH1) = DISK:c:\db2\archive
logarchmeth1 的选项 (LOGARCHOPT1) =
第二个日志归档方法 (LOGARCHMETH2) = OFF
logarchmeth2 的选项 (LOGARCHOPT2) =
在索引构建期间记录页 (LOGINDEXBUILD) = OFF


看到了上面列出了一些log相关的参数,罗列几个解释一番:
LOGPRIMARY:主日志组日志文件个数(首次连接或激活时直接分配)
LOGSECOND:辅助日志组日志文件个数(主日志文件写满时按需分配)
LOGFILSIZ:每个日志文件页数,每页大小为4K
LOGARCHMETH1/LOGARCHMETH2:OFF表示循环模式,其他值表示归档模式(disk:/xifenfei/archive)
NEWLOGPATH:修改新的日志路径
LOGBUFSZ:日志缓冲区大小
MIRRORLOGPATH:日志镜像路径
LOGRETAIN:归档日志保留在日志文件中(不推荐该做法)
USEREXIT:归档日志通过用户出口程序管理(8.2后不推荐该做法)

linux

1.通过以下指令查看数据库归档模式情况:

db2 get db cfg for db_name |grep -i log

db2归档日志 和online备份的关系 db2开启归档日志_日志文件


2.通过以下指令开启归档,例如数据库为sample,然后查看是否开启成功。

db2 update db cfg for sample using logarchmeth1 disk:/home/db2arch/ —归档目录(自定义)

db2 get db cfg for db_name |grep -i log

db2归档日志 和online备份的关系 db2开启归档日志_日志文件_02


1、 查看默认情况下的设置:

db2 get db cfg for db_name |grep -i log

结果如下:

Log retain for recovery enabled (LOGRETAIN) = OFF

User exit for logging enabled (USEREXIT) = OFF

HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC

First log archive method (LOGARCHMETH1) = OFF

默认情况为循环日志

更改为归档日志:
db2 update db cfg for db_name using LOGRETAIN ON

运行后结果如下:
Log retain for recovery enabled (LOGRETAIN) = RECOVERY
User exit for logging enabled (USEREXIT) = OFF
HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC
First log archive method (LOGARCHMETH1) = LOGRETAIN、

更改归档目录:
db2 update db cfg for db_name using LOGARCHMETH1 “disk:/archive/db_name_db_log”
运行后结果如下:
Log retain for recovery enabled (LOGRETAIN) = RECOVERY
User exit for logging enabled (USEREXIT) = OFF
HADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC
First log archive method (LOGARCHMETH1) = DISK:/archivelog/db_name_db_log/