用数据泵导入数据库效率很高,但是需要了解一点点东西
下面用个例子来说明
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文件中抽取出我们需要的表导出