0

我们有一个应用程序,我们正试图将其转移到 24x5 运营。我们有一些批处理作业会在一夜之间导入数据馈送,以更新第二天的客户更改。该作业的结构是擦除和重建整个表数百万行。在此作业期间,该表在大约 2 小时内不可用。

它足够大,以至于在更新之前无法加载到内存中。我想知道在批处理作业完成之前,以其他方式提供数据的最佳方法是什么。

以 xml 格式将表加载到磁盘?在批处理作业之前复制表?

我们有一个 DR 堆栈,但我认为它的设置方式会尝试实时同步,因此在作业执行期间它也将不可用。

数据库是 DB2,前端是 IBM Websphere

4

1 回答 1

1

评估杀戮和填充策略的需求。检查您是否可以将其更改为仅对添加和更改应用适当的增量并摆脱它。

您在数据库上施加了巨大的负载来释放和重新捕获页面。

如果您可以进行增量,但只需要保留几天的数据,则可以在表上使用分区并在分区超出范围时删除分区,而不必删除记录。

如果您必须使用 Kill-And-Fill,请使用您的原始表(让我们称之为BatchTable)创建一个BatchTable_Process具有相同结构的新表。用于BatchTable_Process处理批处理作业数据。处理完成后,交换表名。

于 2011-07-12T19:49:59.290 回答