1

对于每晚完全重新填充源数据库的情况,我试图了解数据库复制(SQL Server 或 Golden Gate)的后果。为了澄清,所有现有表都被删除,然后使用相同名称的新表以及所有数据重新加载数据库。

根据我的理解,即复制使用事务日志......我假设它也会重复删除表的过程,而不是识别差异并仅添加新数据。那是对的吗?

4

1 回答 1

1

您可以使用 OracleGoldenGate 设置复制,以便它执行您希望它执行的操作。

  • TRUNCATE TABLE 命令可以复制也可以忽略
  • 源表的填充(插入/批量操作)可以被复制或者可以被忽略
  • 如果目标上已经存在一行(意味着存在具有相同 PK 的行)并且您在源上插入它,您可以更新目标或删除旧目标并插入新目标,或忽略它

数据库复制基于重做(事务)日志。只有记录在源数据库上的特定事件才能被复制。但是整个复制引擎可以在复制更改时进行一些额外的转换。

于 2017-06-26T22:36:44.970 回答