关于 IMPDP 导入问题 ,关于ora-39125 错误 “对象已存在” 的解决
用数据泵导入数据库效率很高,但是需要了解一点点东西
?
下面用个例子来说明
?
impdp tbzh_xxx/tbzh_xxx? DIRECTORY=DUMP? logfile=import.log DUMPFILE=tbzh_data-bak.dmp REMAP_SCHEMA=tbzh_data:tbzh_xxx REMAP_TABLESPACE=hrdb:tbzh
?
解释:
tbzh_xxx/tbzh_xxx 数据库的用户名和密码
?
DIRECTORY=DUMP? dmp文件所在的路径
?
【
????? 关于这个DIRECTORY 的解释:这是impdp的一个参数,用于指明被导入的dmp文件所在的路径。
????? 关于DUMP的解释:这个DUMP其实指代的就是具体的路径。不过由于impdp的设计者比较纠结,这个DUMP并不能直接写文件路径,而是得先建立一个对象,定义具体的路径,再把这个对象写上去。
?
????? 忽略以上的文字,那么DUMP应该怎么建立呢?如果有PL/SQL,就很简单,直接在左侧的树状菜单中点击Directories,点击右键,选择“新建”,然后在名称中输入“DUMP”,路径输入dmp文件所在的文件夹就可以了。这里大家应该发现DUMP其实就是一个名字而已,你可以自己给它命名,叫COOL还是叫灰太狼都没有关系,重要的它对应的路径一定要正确。
?
????? 如果没有PL/SQL,那就用命令创建吧:
????? 输入命令create directory (自己随便起个名字,我们这里的名字是DUMP) as '具体路径'
?
】
?
logfile=import.log? log文件 不解释
?
DUMPFILE=tbzh_data-bak.dmp? dmp文件
?
REMAP_SCHEMA=tbzh_data:tbzh_xxx? 从哪个用户导出的,要导入到哪个用户中去? (很恶心的东西,这个居然也要指明一下,易用性太烂!)
?
REMAP_TABLESPACE=hrdb:tbzh? 从哪个表空间导出的,要导入到哪个表空间中去 (同上)
?
这是经过实验,能成功导入的语句。
感谢网上很多朋友写的技术贴,给我很大帮助。
也鄙视网上很多“技术贴”:自己没有试过好不好用就乱转乱复制,你明白了吗?你让别人能明白吗?……虚妄啊虚妄
?
?
-----------------------给力的昏割线---------------------------------
?
增加:关于从dmp文件中导入指定表的语法
?
在末尾加入 tbales=c_1,c_2 ……
?
其中c_1和c_2都是表名
?
通过这个命令,可以直接从dmp文件中抽取出我们需要的表导出