是否可以通过Oracle中的导出dmp文件将一个表从一个用户导入到另一个用户?
如果是,该怎么办?
我有2个用户:MILLER和DUMMY。 MILLER有行星表。我已经使用命令提示符从MILLER(last.dmp)导出了,我想从导出文件中将表 import 导入到DUMMY用户中。
我已经尝试使用here中的信息,但是对我没有帮助。
如有必要,我还可以添加命令提示符日志。
答案 0 :(得分:0)
如果您使用的是“原始导入”实用程序,则应考虑:
更多信息here
答案 1 :(得分:0)
谢谢大家。解决方法如下:
1)将IMP_FULL_DATABASE授予DUMMY;
2)在系统上更改用户DUMMY配额50m; (因为我有错误 IMP-00058:遇到ORACLE错误1950
ORA-01950:对表空间“ SYSTEM”没有权限
导入成功,并显示警告。)
3)在命令提示符下使用FROMUSER和TOUSER:
C:\>imp dummy@test3 fromuser=miller touser=dummy
答案 2 :(得分:0)
这是完整的过程
导出:
expdp schema1/password dumpfile=Imported_Table1.dmp directory=DIR tables=sourceTablename;
导入:
impdp schema2/password DIRECTORY=DIR DUMPFILE=Imported_Table1.dmp
remap_table=schema1.tablename:*destTablename*
remap_schema=schema1:schema2 TABLE_EXISTS_ACTION=append;
destTablename ->目标架构中的表名。如果存在表,则系统导入数据,否则系统将使用数据创建一个新表。
已解决的问题:
ORA-39002:无效的操作
ORA-39166:找不到对象schema2.tablename或找不到 导出或导入。
表“ schema2”。“表名”存在。由于跳过了table_exists_action,将跳过所有相关的元数据和数据