Oracle impdp 可以在不重新加载所有行的情况下导入更新的行和新行吗?

Can Oracle impdp import updated and new rows, without reloading all rows?

假设我有 2 个数据库,A 和 B,它们最初具有相同的模式、表等,并且这些表中的数据相同。

那么,用户只能在一个月内修改数据库A,而B在该月内不会发生变化。月底,我想把数据从A移到B。

如果可能,我只想从 A 获取修改后的数据和新数据。我可以使用 expdp 从 A 导出,使用查询检查在该月内添加或更新的记录,但我不确定 if/how 可以使用 impdp 导入数据。

我可能弄错了,但它看起来不像任何 TABLE_EXISTS_ACTION 选项(SKIP、APPEND、TRUNCATE、REPLACE)用于 impdp 句柄导入新的和更改的行而不重新加载所有行。

来自 Oracle 站点,"APPEND loads rows from the source and leaves existing rows unchanged.",所以根据我的理解,它不能使用,因为它不会处理导入目标 (A) 中存在但在源中被修改的任何行(二).

有没有一种方法可以让 impdp 只导入新行并更新现有行?还是我必须将所有数据从 A 导出并导入到 B?

"If possible, I only want to take modified and new data from A"

你为什么关心?无论您拆除所有内容还是仅应用增量,最终状态都是相同的。

一般来说,truncate + wholesale insertappend + selective update 更有效,尤其是在规模上,这大概是数据泵导入不包含更新操作的原因。