我有一个庞大的Oracle数据库的转储所以不可能将其导入所有。 我想导入名为X的特定表的问题是,X有外键。 如果我只导入X,我会收到以下错误:
imp user/pass@dbName tables=X rows=y ignore=Y
ORA-02291: integrity constraint violated - parent key not found
我已经有本地(但没有数据),整个分贝,我想导入关联到X.我如何能实现所有的表? 我已经安装了PLSQL。 我还需要了解这些表的顺序知道该先导入。
有一些问题,所以我会尽量回答一个接一个。
ORA-02291: integrity constraint violated - parent key not found
没有道理的,因为你知道你没有对表X.父记录到您可能还需要使用标志的方式猜这个CONSTRAINTS=N
,因为你已经有了DB正如你所说的。
“我想导入关联到X.我如何能实现所有的表?”
那么别无选择,只能手工查找所有的依赖关系(或使用数据字典表user_cons_columns
, user_constraints
等来查找),并导入这些表也。 想想看,如果你不这样做。 你会打破你的数据的完整性。 如果您仍然希望在表X的数据,而不依赖然后禁用限制,然后导入。 但是,你将不会被再次启用您的约束,我不知道你想用碎数据做什么。
“我还需要了解这些表的顺序知道该在第一进口。”
禁止进口之前的约束,然后导入后启用它们。 你不必担心为了在这种情况下。
你担导入之前禁用所有DB的约束,之后重新启用它们。 看到:
- 禁用,所有表的约束,在甲骨文或
- oracle_disable_constraints