3小时的部署窗口,需要将190K电信用户从一家电信公司迁移到另一家电信



我需要编写PL/SQL脚本,该脚本需要将190 K订阅者从一家电信公司迁移到另一个。使用此脚本,我需要更新订户和帐户的不同表,并进行具有复杂逻辑的服务协议更改。一旦每个订户迁移,我就需要维持"特定订户成功迁移"的状态。为了实现这一目标,我为190 K订户打开了光标,每个订户都在循环中逐一迁移。在性能测试时,我发现只有19 K的订户在1.5中成功更新。小时。这花了很多时间,我的部署窗口只有3个小时。请建议我,在这种情况下如何在技术上进行。

190k记录要在现代数据库中处理的记录实际上并不多。尽管很难给出任何一般建议,因为要做什么取决于特定情况。我的第一个猜测是,随着您的目标数据库在迁移期间的增长,您可能会遭受表格统计数据为0的表格,从而在进行更新并检查完整性和唯一约束时产生fts。尝试松开目标的约束。监视目标上的执行计划,如果有任何显示FTS或高IO,则定期收集统计数据,或使用DBMS_STATS软件包在迁移之前设置统计信息。Divide and Conquer是您可以采用的另一种通用方法 - 对您的迁移例程进行反映,以便您可以在一系列记录上操作,然后并行运行迁移,每一个处理不同的范围。也许您还可以将迁移和验证过程拆分,即运行迁移以复制帐户,并将状态设置为"复制"(从"复制"),然后具有验证过程(可能是并行),该过程将对"复制"进行轮询。记录,然后验证他们将状态设置为"检查",然后"确定"或"失败"或其他。

更具体的帮助需要更多详细信息。

最新更新