Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3123061
  • 博文数量: 206
  • 博客积分: 3409
  • 博客等级: 中校
  • 技术积分: 4066
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-24 10:21
个人简介

● ITPUB名人堂嘉宾 ● ChinaUnix社区博客专家 ● ChinaUnix社区Oracle板块版主 ● 优酷网认证音乐牛人:EricGuitar ● SDOUG 核心成员 ●E-mail:gaoqiangdba@163.com

文章分类

全部博文(206)

文章存档

2021年(11)

2020年(7)

2019年(7)

2016年(5)

2015年(36)

2014年(23)

2013年(15)

2012年(23)

2011年(61)

2010年(18)

分类: DB2/Informix

2016-01-04 17:09:30



巡检DB2的时候,在db2log中发现有如下:

MESSAGE : ADM5530W  The COMMIT processing of table "TEST" that used NOT LOGGED INITIALLY has been initiated.  It is recommended that you take a backup of this table's  table space(s).

 DB2 中的表的not logged initially 特性,可以避免在对表进行增删改等操作的时候产生日志,该参数主要可用于大量导入、迁移场景中,可以避免大量的空间消耗和I/O性能损耗。

需要将表设置为NOG LOGGED INITIALLY方式:
ALTER TABLE ACTIVATE NOT LOGGED INITIALLY;


操作建议:
1.commit  ---提交之前的事务
2.ALTER TABLE ACTIVATE NOT LOGGED INITIALLY;
3.增删改
4.commit ---提交后会取消该参数的设置
5.建议对刚才相关操作的表进行备份,因为没有记录事务日志。


那么,我们对该功能进行一下知识拓展,同样的思路在其他品牌的数据库中是否也有相应的实现方案呢?答案是肯定的!

在Oracle中,操作如下:
alter table text nologging

在PostgreSQL中,操作如下:
 alter table test set unlogged;
阅读(7035) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~