我正在尝试将转储导入到同一个oracle DB中的两个模式。解决方法是执行此操作。
我正在尝试使用INDEXFILE选项运行imp命令,以便能够修改sql中的表空间名称。这就是我得到的:
E:\ oracle_10_2 \ BIN> imp atlantis / atlantis @ orcl file = ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp indexfile = index.sql full = y log = imp.log
导入:版本10.2.0.1.0 - 生产于2009年3月12日星期四15:31:44
版权所有(c)1982,2005,Oracle。保留所有权利。
连接到:Oracle数据库10g企业版10.2.0.1.0版 - 产品 重刑 使用分区,OLAP和数据挖掘选项
IMP-00002:无法打开ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp进行读取 导入文件:EXPDAT.DMP>
看起来像是文件权限问题,所以我尝试更改它。
E:\ oracle_10_2 \ BIN> cacls E:\ ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp / p atlantis:F
你确定(是/否)?
已处理的文件:E:\ ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp
E:\ oracle_10_2 \ BIN> cacls E:\ ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp
E:\ ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp CORP \ atlantis:F
但问题仍然存在。
答案 0 :(得分:4)
如果您使用的是Oracle 10g,请考虑使用新的导出/导入工具Oracle Data Pump,您可以在其中使用REMAP_TABLESPACE参数。
无论如何,你错过了exportfile的路径(基于授予权限的命令)。然后你写道:
file=ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp
而不是
file=E:\ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp
然后,结果导出命令起作用:
imp atlantis/atlantis@orcl file=E:\ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp indexfile=index.sql full=y log=imp.log
答案 1 :(得分:0)
以管理员身份打开窗口命令行 imp user / pass @ databasename(listenername)file ='DMP路径' log = indexfile.log full = y;
不要忘记添加数据库或侦听器名称。