DB2不记录事务日志的操作

本文介绍了在DB2中如何执行不记录事务日志的操作,如activate not logged initially,以及由此带来的风险,如回滚事务或前滚到不记录日志的时间点后可能导致表不可访问。建议在不记录日志操作后立即备份,以避免数据丢失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一些大表的插入更新删除等操作,会占用大量的活动日志,如果用户不希望对这些
操作不做日志记录可以使用activate not logged initially,
对于不记录事务日志的问题是:
1.db2的rollback和rollforward都依赖日志,如果没有记录日志,该事务如果rollback了(锁超时,
  内存不足等),那么会导致该表不可以访问;
2.归档日志模式下的数据库的restore+rollforward,如果rollforward到不记录日志操作的
   时间点后,也会导致该表不可访问,只能drop了重建,所以应当在这些不记日志操作之后
   立刻对数据库或表空间做一个备份。
DB2 load导入数据的操作也是不会通过事务日志来记录变化,所以load操作提供copy yes
和copy no的参数,no是load结束后要手动备份,yes是load的过程同时对数据做了一个备份。
db2  "load from tb1.del of del insert into tb2 copy yes to /db2cfg" 
db2 load query table tb2

1.事务中开启不记录日志,事务rollback后,表不可访问:
[test@demo db2cfg]$ db2 +c "alter table tb1 activate not logged initially"    ---->只在该事务中tb1不记录日志
DB20000I  The SQL command completed successfully.
[test@demo db2cfg]$ db2 +c  "insert into tb1 values(666,'yo666') "
DB20000I  The

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值