导入 oracle 转储时出错

atl*_*tis 2 oracle import dump

我正在尝试将转储导入到同一个 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 数据库 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

但问题仍然存在。

Fer*_*anB 7

如果您使用的是 Oracle 10g,请考虑使用新的导出/导入工具Oracle Data Pump,您可以在其中使用REMAP_TABLESPACE参数。

无论如何,您错过了导出文件的路径(基于授予权限的命令)。然后你写道:

file=ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp
Run Code Online (Sandbox Code Playgroud)

代替

file=E:\ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp
Run Code Online (Sandbox Code Playgroud)

然后,要工作的结果导出命令是:

imp atlantis/atlantis@orcl file=E:\ABCD1_EXCLUDE_CLOB_TABS_BAK.dmp indexfile=index.sql full=y log=imp.log
Run Code Online (Sandbox Code Playgroud)