DB2开启归档日志压缩,并通过恢复数据库前滚日志验证

1.数据参数
Log file size (4KB)                         (LOGFILSIZ) = 16384
 Number of primary log files                (LOGPRIMARY) = 10
 Number of secondary log files               (LOGSECOND) = 20

[db2inst1@TKNTS-QDB ~]$ db2 get db cfg for tkntsq |grep -i compress
 Archive compression for logarchmeth1    (LOGARCHCOMPR1) = OFF
 Archive compression for logarchmeth2    (LOGARCHCOMPR2) = OFF

2.设置归档日志压缩,注意需要重启实例才会生效
  设置后插入数据生成归档日志发现归档日志已经被压缩
[db2inst1@TKNTS-QDB C0000000]$ ls -al

-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:15 S0006458.LOG
-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:16 S0006459.LOG
-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:16 S0006460.LOG
-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:16 S0006461.LOG
-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:16 S0006462.LOG
-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:17 S0006463.LOG
-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:17 S0006464.LOG
-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:17 S0006465.LOG
-rw-r----- 1 db2inst1 db2iadm1 67117056 Jul  1 11:17 S0006466.LOG
-rw-r----- 1 db2inst1 db2iadm1 24502272 Jul  1 11:19 S0006467.LOG
-rw-r----- 1 db2inst1 db2iadm1   329444 Jul  1 11:20 S0006468.LOG
-rw-r----- 1 db2inst1 db2iadm1  8488449 Jul  1 11:20 S0006469.LOG
-rw-r----- 1 db2inst1 db2iadm1  8494842 Jul  1 11:21 S0006470.LOG
-rw-r----- 1 db2inst1 db2iadm1  8495253 Jul  1 11:21 S0006471.LOG
-rw-r----- 1 db2inst1 db2iadm1  8493556 Jul  1 11:21 S0006472.LOG
-rw-r----- 1 db2inst1 db2iadm1  8675082 Jul  1 11:28 S0006473.LOG
-rw-r----- 1 db2inst1 db2iadm1  4800165 Jul  1 11:36 S0006474.LOG
-rw-r----- 1 db2inst1 db2iadm1    14092 Jul  1 11:37 S0006475.LOG
3.
在线备份数据库,备份完成后插入大量标记数据,然后恢复数据库,最后前滚到生成的压缩归档日志文件
db2 bakcup db TKNTSQ online to /db2dta/backup include logs

db2 "begin atomic declare i int default 0;while(i <1000000) do insert into test1 values (i,'liys','35egdgey54whdfsgdsfhusdd39eufsdfsgd890gsgggsgdfsgdgdsfgs','35egd4636rhshdsfhusdd39eufsdfsgd89gs');set i=i+1;end while;end"

db2 restore db TKNTSQ from /db2dta/backup taken at 20220701110215 logtarget /db2dta/logs

[db2inst1@TKNTS-QDB logs]$ db2 "rollforward db tkntsq to  end of logs and stop overflow log path('/arclog/db2inst1/TKNTSQ/')"

                                 Rollforward Status

 Input database alias                   = tkntsq
 Number of members have returned status = 1

 Member ID                              = 0
 Rollforward status                     = not pending
 Next log file to be read               =
 Log files processed                    = S0006448.LOG - S0006474.LOG
 Last committed transaction             = 2022-07-01-03.37.17.000000 UTC

DB20000I  The ROLLFORWARD command completed successfully.

4.通过查询发现压缩的日志文件也能前滚使用
[db2inst1@TKNTS-QDB logs]$ db2 "select count(*) from test1 where name1='liys'"
SQL1024N  A database connection does not exist.  SQLSTATE=08003
[db2inst1@TKNTS-QDB logs]$ db2 connect to tkntsq

   Database Connection Information

 Database server        = DB2/LINUXX8664 10.5.11
 SQL authorization ID   = DB2INST1
 Local database alias   = TKNTSQ

[db2inst1@TKNTS-QDB logs]$ db2 "select count(*) from test1 where name1='liys'"

1          
-----------
     200000

  1 record(s) selected.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值