前言
作为一个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、到了这里可能有疑问,说为什么表空间和用户是一样的?当时我建的表空间和用户都不是这个,像做完上边描述那样导入dmp,log报错:说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
{{ cmt.username }}
{{ cmt.content }}
{{ cmt.commentDate | formatDate('YYYY.MM.DD hh:mm') }}