今天对一张表进行操作,报了SQL1477N的错,查询了相关的文档,感觉这个报错是由于用了ALTER TABLE xxx ACTIVATE NOT LOGGED INITIALLY 引起的。之前其他DBA对这个表应该是用了这命令,然后进行删除某一年数据的操作,是不是操作失败了,导致这个表出现这个报错呢?
出现了这个报错,表就只能删除重建吗? 表里面的数据好像木有备份哦。怎么破?
写个程序每删除2000条递交一次,NOT LOGGED INITIALLY还是不用为好,在DB2里属于高危操作,手册里有说明;
在Db2 HADR的环境里,一般建议设置blocknonlogged为yes,不允许不记日志的操作,否则会造成主备两边数据不一致的情况,在切换到HADR备机之后,不记日志的有些操作会造成备机的表没法访问。
常见的不记日志的操作包括:
1, load
2, alter table activate not logeed initially with empty table 或者
alter table activate not logeed initially
3,blob和clob不记日志;
db2 能从完整备份image中只对某一个表的数据进行恢复吗?
我试了一下db2dart, 把表的数据导成.del文件,再load回去。在本地测试,数据量比较小,是成功了的。。不晓得这个db2dart和 直接从image恢复某个表的数据,哪个可行?
收起