Oracle导入dmp文件

比如:dmp文件导出的表属于TEST这个表空间。分为三种情况

1.未创建表空间

  1. 创建表空间
create tablespace TEST
logging  
datafile 'D:\app\用户名\oradata\test.dbf'-数据库安装路径
size 50m  
autoextend on  
next 50m maxsize 20480m
extent management local;

  1. 导入dmp文件
imp scott/tiger@orcl file="d:\test.dmp" full=y

2.已创建表空间,表空间存在旧数据,保留旧数据,并新增新数据

imp scott/tiger@orcl file="d:\test.dmp" full=y ignore=y

oracle imp 导入可以使用 ignore=y 参数进行覆盖数据库,

如果不使用 ignore=y 参数在进行imp 导入时, 对已经存在的表不会进行导入,

如果加上ignore=y 参数就会对已经存在的表中没有的记录进行更新,但对已经存在记录不会进行覆盖修改。

3.已创建表空间,表空间存在旧数据,清除旧数据,导入新数据。

注:在测试环境使用,对Oracle了解不深,所以使用先删除表空间,再创建表空间的方法导入数据,不清楚会不会造成其他不可修复的影响

首先看下Oracle的逻辑结构,表是依托表空间的,所以删除表空间,表空间里面的表数据都被删除。再导入dmp文件就可以了。

image-20210127142625546

具体做法:

  1. 删除表空间
--删除非空表空间,包含物理文件
drop tablespace TEST including contents and datafiles;
  1. 创建表空间
create tablespace TEST
logging  
datafile 'D:\app\用户名\oradata\test.dbf'-数据库安装路径
size 50m  
autoextend on  
next 50m maxsize 20480m
extent management local;
  1. 导入dmp文件
imp scott/tiger@orcl file="d:\test.dmp" full=y

参考资料:https://blog.csdn.net/allway2/article/details/99209652

https://blog.csdn.net/liberty12345678/article/details/82347508

posted @ 2022-10-24 20:56  享受生活2023  阅读(2458)  评论(0编辑  收藏  举报