IMP-00003: 遇到 ORACLE 错误 959 ORA-00959: 表空间 '' 不存在
描述
在使用imp命令将dmp文件导入oracle中时,遇到如下错误:
IMP-00003: 遇到 ORACLE 错误 959 ORA-00959: 表空间 'TBS_CDUSER' 不存在
IMP命令如下:
IMP cduser/cduser123@orcl file=D:\cduser20190417_owner.dmp full=y;
我想将备份文件导入cduser用户下,结果,有些表可导入成功,有些表不能成功,出现如上错误,请看下图:
使用下面的SQL来查询cduser用户的默认表空间:
select username,default_tablespace from dba_users where username='CDUSER';
可以看默认表空间不是TBS_CDUSER
解决方法
第一种方法
创建表空间TBS_CDUSER,SQL如下:
CREATE TABLESPACE TBS_CDUSER LOGGING DATAFILE 'H:\app\oradata\orcl\TBS_CDUSER.dbf' SIZE 256M AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
然后再导入,看看是否能成功。
如果第一种方法不行,使用第2种方法。
第二种方法
删除用户cduser及用户的表空间
--删除user drop user cduser cascade; --删除tablespace DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
重新创建表空间TBS_CDUSER,用户cduser并设置默认表空间为TBS_CDUSER,然后再导入
详细过程这里就不详细写了,可以移步到我的另一篇文章查询详细过程:
使用imp命令和exp命令对oracle数据库进行导入导出操作,链接地址:https://www.cnblogs.com/codecat/p/10723389.html