我在研究自适应压缩。当一个表被压缩,然后是reorg:ed时,我似乎找不到任何关于HADR是如何受到影响的信息。示例
t=mytable
db2 "alter table $t compress yes adaptive";
for i in $(db2 -x "select rtrim(indschema) || '.' || rtrim(indname) from syscat.indexes where rtrim(tabschema) || '.' || rtrim(tabname) = '${t}' order by 1"); do
db2 "alter index $i compress yes"
done
db2 "reorg table $t resetdictionary";
db2 "reorg indexes all for table $t"
db2 "runstats on table $t with distribution and sampled detailed indexes all";问题是,在此过程中是否需要降低HADR并在完成后重新启动它,还是在日志中捕获了所有内容,以便HADR能够继续?
发布于 2020-02-05 13:53:59
在线和离线重组都是HADR的记录并因此复制。通过停止HADR,您将只允许备用服务器落后于主服务器,这将在重新启动HADR时导致流量激增(以及备用服务器上可能出现的日志空间问题)。如果您在正常运行期间没有受到网络拥塞的影响,那么就没有理由在重组期间停止HADR。如果是这样的话,考虑放弃待机状态,并在REORGs完成初选后重新重建它。
发布于 2020-02-05 20:05:01
您必须知道洛金葡萄糖构建数据库参数设置及其对离线REORG操作重放后备用状态下索引维护的影响(每个表都有一个具有相同含义的属性)。如果表的COALESCE(logindexbuild_table_attribute, logindexbuild_db_parameter) == OFF,并且您脱机地重新整理了这个表,那么所有表索引在备用表上都被标记为无效,并且当备用成为主表时,必须在那里重新构建。这样的重建是自动完成的,但是它可能需要一些时间,特别是对于大型表来说,这是不可取的。
离线后不应该在主表REORG上重新组织表索引--它是在表REORG进程的最后一个阶段自动完成的。
您可以考虑暂时禁用HADR,但这与日志记录的完整性无关。重播大型脱机reorg操作可能会导致HADR拥塞,这可能会阻塞主服务器上的其他事务。如果在主服务器上的此类操作之前禁用备用,您可能会避免这样的拥塞,但您可能会在发生灾难时松掉事务。
https://dba.stackexchange.com/questions/258942
复制相似问题