比如:dmp文件导出的表属于TEST这个表空间。分为三种情况
1.未创建表空间
- 创建表空间
create tablespace TEST
logging
datafile 'D:\app\用户名\oradata\test.dbf' –-数据库安装路径
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
- 导入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文件就可以了。
具体做法:
- 删除表空间
--删除非空表空间,包含物理文件
drop tablespace TEST including contents and datafiles;
- 创建表空间
create tablespace TEST
logging
datafile 'D:\app\用户名\oradata\test.dbf' –-数据库安装路径
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
- 导入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
今天的文章Oracle导入dmp文件分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9616.html