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

  • Post author:
  • Post category:其他




解决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;

属于正常,说明该表已经成功导入。



版权声明:本文为zcxbd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。