首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何才能将数据*和索引*导入Oracle 11?

如何才能将数据*和索引*导入Oracle 11?
EN

Stack Overflow用户
提问于 2013-06-25 21:41:56
回答 1查看 2.9K关注 0票数 0

我正在使用the original imp tool导入Oracle11g数据库。通常我使用参数DATA_ONLY=y来执行此操作,因为我只关心与数据相关的错误。

但是,我现在正在研究一些与索引相关的问题,因此我希望导入索引和数据,但不导入其他元数据。我已经查看了imp help=y和上面链接的文档,但我不知道哪种选项组合或imp调用序列可以实现这一点。

有什么想法吗?(特定于11g答案的参数也适用于10g dmp文件。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-25 22:34:54

从转储文件(从exp;如果使用11g,我不确定为什么不使用数据泵和expdp/impdp,但希望从9i或更高版本移动数据)构建索引的最简单方法是使用INDEXFILE parameter

使用它来创建一个包含所有索引DDL的.sql文件。(它也有所有的表DDL,但被注释掉了)。然后,如果需要,您可以进行更改。然后从SQL*Plus中像一个普通脚本一样运行它,它将执行DDL并构建所有索引。不存在仅构建索引的imp调用,您需要在这两个步骤中完成。

它不会更新或重新创建你已经拥有的任何索引,所以如果索引定义发生了变化,那么它就会生效--它只会抱怨索引已经存在。如果是这种情况,您可以在运行脚本之前删除现有索引。

通常,您会在DATA_ONLY调用之后将INDEXFILE调用作为一个单独的步骤运行,因为在所有数据都存在的情况下构建索引通常比在索引存在的情况下导入数据更快-因为更新每行数据的索引会产生开销。所以,依次是imp DATA_ONLY=yimp INDEXFILE=ind.sqlsqlplus user/pass < ind.sql

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17298971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档