oracle导入DMP文件注意事项

LZQ plus

发布于 2018.06.30 14:49 阅读 2539 评论 0

前言

作为一个oracle小小白来讲,捣鼓dmp文件之路是爬出一个坑又爬进一个坑,但是最后搞出来了虽然还有点瑕疵。关于我搞的这个dmp是别人那里拷过来进行二次开发使用,然后给我文件的那个人就给我说了一句话,“用impdp,创建个表空间导入即可”,当时整个人都是懵的,说多了都是泪。期间走了不少弯路,但是收获满满,所以在这里记录一下加深印象。

 

正经内容

1、既然要捣鼓oracle,就要安装上oracle,这一步骤就不多做介绍。要注意的是exp导出用imp导入;expdp导出用impdp导入。

 

2、安装成功之后,开始操作dmp文件。

①、打开cmd -> sqlplus -> system 进入。

②、创建表空间:

->create tablespace LYDX datafile ‘E:\XXXX\XXX.dbf’ size 500m autoextend on;

③、创建目录:

->create or replace directory dp_dir as ' E:\XXXX'; 此时E:\XXXX就是DMP文件存放目录。

④、创建用户,分配默认表空间:

->create user LYDX identified by 123456 default tablespace LYDX;

⑤、用户授权:

->grant resource, connect, dba to LYDX;

-> grant read, write on directory dp_dir to LYDX;

⑥、退出到cmd然后导入DMP文件:

->impdp LYDX/123456@orcl directory=dp_dir dumpfile=XX.dmp logfile=emp.log full=y;

lodfile很重要,解决问题就靠它。

 

3、到了这里可能有疑问,说为什么表空间和用户是一样的?当时我建的表空间和用户都不是这个,像做完上边描述那样导入dmplog报错:说LYDX表空间不存在、用户LYDX不存在,所以才这样做的。然后这样导入之后又报了一个错:LGLDPDATA表空间不存在,然后再次执行了2、①(create tablespace LGLDPDATA datafile ‘E:\XXXX\LDP.dbf’ size 500m autoextend on;),然后将这个表空间分配给LYDX这个用户(alter user LYDX quota unlimited on LGLDPDATA;)最后正常导入。

 

4、最后我这边还有点问题,log文件说:***有错误,***已存在。这个还没有搞明白,估计是我导入了太多次的原因。注意一下。

 

参考原文链接:

https://www.cnblogs.com/fanyuyi-boke/p/qiao_duo_shao_nian_dai_ma_neng_ba_shou_zhi_mo_ping7.html

https://blog.csdn.net/u010653908/article/details/53695666