我使用EXP导出了一个包含大约150个表的模式。
模式中的几乎所有表都具有IDENTITY列。
当我在其他服务器上使用IMP导入.dmp文件时,它创建了所有表并导入了数据,但是IDENTITY被删除了。
有什么建议吗?
答案 0 :(得分:3)
有什么建议吗?
是的。改用Datapump。
Oracle通过系统生成的序列实现Identity列。这给将标识列导入到新数据库中带来了问题,因为从导出的标识列中生成的序列名称可能会与现有的生成序列冲突。 Datapump通过删除导入的序列并创建一个与identity列关联的新序列来处理此问题。
此功能仅可通过Datapump使用。从11g-check the Utilities Guide's table of contents开始,不再支持旧的命令行IMP和EXP实用程序。仅提供可执行文件来处理旧的转储-Datapump无法读取Old Skool EXP文件,因此我们仍然必须使用IMP来导入它们。但是任何新的导出都应使用Datapump进行-尤其是如果您想利用较新的数据库功能。