imp导入指定表(imp导入指定表空间)

imp导入指定表(imp导入指定表空间)p imp 导入数据指定表空间 大致有以下几种方法可以 p p 1 有一个简单的方法 适用于数据比较少的情况 直接使用 UltraEdit 打方 DMP 文件 默认是 16 进制 切换成文本模式 将里面的 TABLESPACE TS1 全部替换成 TABLESPACE TS2 p

大家好,我是讯享网,很高兴认识大家。




讯享网

 <p>imp导入数据指定表空间,大致有以下几种方法可以:</p><p>1. 有一个简单的方法,适用于数据比较少的情况:直接使用UltraEdit打方DMP文件,默认是16进制,切换成文本模式,将里面的: TABLESPACE &quot;TS1&quot;全部替换成TABLESPACE &quot;TS2&quot;,然后再导入,不用加什么tablespaces=TS2之类的参数即可,当然加了也无所所谓。</p><p>C:&gt;IMP USER2/USER2 log=C:plsimp.log file=D:databaseUSER1.dmp fromuser=USER1 touser=USER2 ignore=yes tablespaces=TS2</p><p>不过有个缺点,如果DMP文件有几百M甚至几G,嘿嘿嘿嘿,不知道UltraEdit有啥反应?</p><p>2. 还有另外一种比较好的方法。基本思路都是先从 USER1导出表结构(DMP或者SQL脚本),然后在USER2用户下创建空的数据库表(如果是DMP,则参见方法1;如果是SQL脚本,则稍作修改后以USER2用户执行即可),再将包括数据的DMP导入,注意要设IGNORE=Y,并指定FROMUSER和TOUSER。具体实现方法为:</p><p>(1)先用工具导出USER1的表结构(不要导出CHECK和FK,特别是FK!),TOAD和 PL/SQL都有此功能。PL/SQL Developer导出表结构:Tools--&gt;Export User Objects(导出用户对象) --&gt;选择要导出的表(包括Sequence等)--&gt;.sql文件,导出的都为sql文件。或者使用imp的indexfile选项生成表结构的SQL脚本。</p><p>(2)在USER2用户下创建相同的表结构</p><p>(3)导入完整的数据</p><p>PS:</p><p>PL/SQL Developer工具操作步骤:</p><p>(1)导出表结构:</p><p>Tools--&gt;Export User Objects(导出用户对象) --&gt;选择要导出的表(包括Sequence等)--&gt;.sql文件,导出的都为sql文件</p><p>(这一步也可以导出一个只包括表结构的DMP文件。)</p><p>(2)导出表数据:</p><p>Tools--&gt;Export Tables--&gt;选择表,选择SQL Inserts--&gt;.sql文件</p><p>(这一步也可以导出一个包括表结构和数据或者只有数据没有表结构图的DMP文件。)</p><p>(3)导入表结构:</p><p>执行刚刚导出的sql文件,记住要删掉table前的用户名,比如以前这表名为sys.tablename,必须删除sys</p><p>(如果是只包括表结构的DMP文件,则使用UltraEdit修改表空间,再导入。如方法1)</p><p>(4)导入表数据:</p><p>执行刚刚导出的sql文件</p><p>(如果是DMP文件,则直接导入即可,注意要设IGNORE=Y,并指定FROMUSER和TOUSER。)</p><p>IMP命令操作步骤:</p><p>首先:exp user/pw file=file.dmp owner=yourUser1</p><p>然后:imp user/pw file=file.dmp indexfile=xxxx.sql fromuser=yourUser1 touser=yourUser2</p><p>随后:修改xxxx.sql中的关于有表空间设置的地方为新的表空间,并去掉相关的注释(rem),然后执行xxxx.sql创建相关对象。</p> 

讯享网
小讯
上一篇 2025-04-22 15:52
下一篇 2025-04-26 08:12

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/182773.html