如何在Oracle中迁移数据

时间:2018-05-24 20:55:58

标签: oracle foreign-keys

我有两个表,其中表A中的主键被引用为表B中的外键。我想知道将这两个表从一个Oracle DB迁移到另一个Oracle DB的方法。如果适用,请告诉我们流程和任何假设。

2 个答案:

答案 0 :(得分:2)

在没有索引或约束的情况下在新数据库上创建空表。

通过并行的nologging链接复制数据。

http://www.bobbydurrettdba.com/2012/06/21/fast-way-to-copy-data-into-a-table/

如果表被分区,我会一次做一个分区。

创建并行8 nologging索引。

将索引更改为源中的任何内容(可能是noparallel日志记录)。

创建外键约束enable novalidate。

答案 1 :(得分:0)

通常expdp / impdp export & import )为数据库之间的数据传输执行操作。

对于您的特殊情况,只需迁移这两个表,就足以将相关的外键 DEFERRABLE INITIALLY DEFERRED设为:

ALTER TABLE TableB ALTER CONSTRAINT fk_tabB_A_col1
  DEFERRABLE INITIALLY DEFERRED;

除非您在迁移结束前发出提交,否则不会产生任何问题,前提是数据是一致的。