oracle导入数据库是出现表空间不存在怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle导入数据库是出现表空间不存在怎么解决?相关的知识,希望对你有一定的参考价值。

表空间和用户以创建都是EMR_WS_TEST,
导入命令是:
IMPDP USERID='EMR_WS_TEST/EMR_WS_TEST@ORCL' schemas=EMR_WS_TEST directory=DATA_PUMP_DIR dumpfile=EMR_WS_TEST.dmp logfile=EMR_WS_TEST.log version= 11.1.0.2.0
执行结果如图:

导入空间是EMR_WS_TEST,与EMR_EMPTY无关,只是之前在PL\SQL中使用过EMR_EMPTY,这次导入EMR_WS_TEST为什么会出现“EMR_EMPTY不存在”?

    exp命令导出dmp文件

    exp备份数据库中表结构

    PL/SQL导出

    、imp命令导入dmp文件

    mp命令导入表结构

    导入csv文件

执行命令:sqlldr username/userpasswd@orcl control=F:/test.ctl log=F:/test.log

这个表示导入成功的数据行数。excel数据格式的数据可以通过更换数据格式为csv文件格式,再进行导入操作。

执行imp语句

导入成功后,执行改回原来表空间的名称

参考技术A IMPDP命令可以指定导入的表空间。比如你原来的表空间是A,想导入到表空间B中,可以用remap_tablespace=A:B来指定。

你出的这个错误可能是因为你导出的数据中有部分是保存在EMR_EMPTY表空间中的,你新的数据库中没有这个表空间。我建议:
1.你先确定你源数据库中的表空间,然后在目标数据库中创建相同的表空间。
2.或者用remap_tablespace参数来改变目标数据库的表空间。本回答被提问者采纳
参考技术B 比如你原来的表空间是A,想导入到表空间B中,可以用remap_tablespace=A:B来指定。
你出的这个错误可能是因为你导出的数据中有部分是保存在EMR_EMPTY表空间中的,你新的数据库中没有这个表空间。我建议:
1.你先确定你源数据库中的表空间,然后在目标数据库中创建相同的表空间。
参考技术C 1.创建一个同名的表空间。
2. 用tablespaces参数来指定导入的表空间。
参考技术D 创建一个表空间

以上是关于oracle导入数据库是出现表空间不存在怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

oracle导入dmp 各种表空间不存在

ORA-00604: 递归 SQL 级别 1 出现错误和ORA-00942: 表或视图不存在 一起出现怎么解决

oracle dmp导入后还需要建立表空间吗?

oracle导入dmp的时候提示某个表空间不存在,但这个表空间确实已经建立好了,是啥问题呢

oracle中用一个用户导出的dmp文件中含有多个表空间,怎么用该用户将这个文件再导入数据库

用户的默认或临时表空间不存在 怎么解决