描述
在使用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