oracle impdb导入dmp文件问题
发布网友
发布时间:2022-04-13 22:17
我来回答
共2个回答
热心网友
时间:2022-04-13 23:46
基本思路都是先从USER1导出表结构(DMP或者SQL脚本),然后在USER2用户下创建空的数据库表(如果是DMP,则参见方法1;如果是SQL脚本,则稍作修改后以USER2用户执行即可),再将包括数据的DMP导入,注意要设IGNORE=Y,并指定FROMUSER和TOUSER。具体实现方法为:
(1)先用工具导出USER1的表结构(不要导出CHECK和FK,特别是FK!),TOAD和PL/SQL都有此功能。PL/SQL Developer导出表结构:Tools-->Export User Objects(导出用户对象) -->选择要导出的表(包括Sequence等)-->.sql文件,导出的都为sql文件。或者使用imp的indexfile选项生成表结构的SQL脚本。
(2)在USER2用户下创建相同的表结构
(3)导入完整的数据
PS:
PL/SQL Developer工具操作步骤:
(1)导出表结构:
Tools-->Export User Objects(导出用户对象) -->选择要导出的表(包括Sequence等)-->.sql文件,导出的都为sql文件
(这一步也可以导出一个只包括表结构的DMP文件。)
(2)导出表数据:
Tools-->Export Tables-->选择表,选择SQL Inserts-->.sql文件
(这一步也可以导出一个包括表结构和数据或者只有数据没有表结构图的DMP文件。)
(3)导入表结构:
执行刚刚导出的sql文件,记住要删掉table前的用户名,比如以前这表名为sys.tablename,必须删除sys
(如果是只包括表结构的DMP文件,则使用UltraEdit修改表空间,再导入。如方法1)
(4)导入表数据:
执行刚刚导出的sql文件
(如果是DMP文件,则直接导入即可,注意要设IGNORE=Y,并指定FROMUSER和TOUSER。)
热心网友
时间:2022-04-14 01:04
你进到oracle的安装目录下边的proct\11.2.0\dbhome_1\BIN 下执行,可能是你的环境变量没有配置好