假设我有 2 个数据库,A 和 B,它们最初具有相同的架构、表等,以及这些表中的相同数据。
那么,用户只能在一个月内修改数据库 A,而 B 在该月内不会更改。月底,我想将数据从 A 移动到 B。
如果可能,我只想从 A 中获取修改后的新数据。我可以使用 expdp 从 A 导出,使用查询检查该月内添加或更新的记录,但我不确定该数据是否/如何用impdp导入。
我可能弄错了,但它看起来不像任何 TABLE_EXISTS_ACTION 选项(SKIP、APPEND、TRUNCATE、REPLACE)用于 impdp 句柄导入新的和更改的行而无需重新加载所有行。
从 Oracle 站点,“APPEND 从源加载行并使现有行保持不变。”,所以根据我的理解,不能使用它,因为它不会处理导入目标 (A) 中存在的任何行,但是在源 (B) 中修改。
有没有一种方法可以让 impdp 只导入新行并更新现有行?还是我必须从 A 导出所有数据并导入到 B?
“如果可能,我只想从 A 获取修改后的新数据”
你为什么在乎?无论您是拆除所有内容还是仅应用增量,最终状态都是相同的。
一般而言,truncate + wholesale insert
效率更高append + selective update
,尤其是在规模上,这大概是数据泵导入不包括更新操作的原因。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句