解决Oracle impdp导入dmp文件时,各种报错提示

解决Oracle impdp导入dmp文件时,各种报错提示

报错提示:各种表空间不存在

1、ORA-39083: 对象类型 TABLE:“SOP2”.“xxx” 创建失败, 出现错误:
ORA-00959: 表空间 ‘SOP2_DATA’ 不存在
2、ORA-39083: 对象类型 TABLE:“SOP2”.“xxx” 创建失败, 出现错误:
ORA-00959: 表空间 ‘TBS_TEILE_CLUB’ 不存在
3、作业 “TEST”.“SYS_IMPORT_FULL_01” 已经完成, 但是有 293 个错误 (于 11:51:22 完成)
在这里插入图片描述
在这里插入图片描述

解决方案

1、打开cmd,用system用户登录,查找导入的目标数据库的默认表空间
进入oracle命令:sqlplus system/密码 as sysdba;
查看用户及其表空间:select username, default_tablespace from dba_users where username='目标数据库名';
如图:username为SOP2,默认的空间为USERS
在这里插入图片描述
2、执行修改表空间语句(假设目标数据库的表空间名是:xxx_tablespace)

alter tablespace xxx_tablespace rename to xxx;

例如:tablespace “SOP2_DATA” does not exist

alter tablespace USERS rename to SOP2_DATA; -- USERS为用户的默认表空间

3、退出数据库,执行impdp语句

退出数据库:exit
执行imp语句:impdp sop2/sop2 directory=DATA_PUMP_DIR logfile=DATA_IMPORT_202004152224.log DUMPFILE=BNK.DMP

4、导入成功后(即没有表空间xxx不存在的提示),进入数据库执行改回原来表空间的名称

进入oracle:sqlplus system/密码 as sysdba
改回:alter tablespace SOP2_DATA rename to USERS;

温情提示
-----请记住目标数据的默认空间;
-----存在多个表空间不存在时,重复操作2、3,直到所有提示都没有“表空间xxx不存在的提示”;
-----已导入成功的表,再次导入时,会提示:ORA-39151: Table "SOP2"."SYS_EXPORT_SCHEMA_01" exists. All dependent metadata and data will be skipped due to table_exists_action of skip;属于正常,说明该表已经成功导入。

猜你喜欢

转载自blog.csdn.net/zcxbd/article/details/105550162