expdp/impdp导入导出方法
前提条件:这里模仿从192.168.25.52/javadb的数据库用表空间data1中的dev用户导出数据文件20120927.dmp,然后导入到192.168.25.50/orcl数据库中表空间为data2的用户pro(其中涉及的数据库、表空间、用户 都可以自己根据具体情况设置)
1.查找数据泵位置
以数据库管理员身份登录oracle(192.168.25.52/javadb) (PL/SQL)
Select * from dba_directories; --查询服务器 expdp/impdp所用转储文件夹(数据泵位置)
2.执行expdp命令导出
① 用管理员将DATA_PUMP_DIR目录授权读写权限给所要导出的用户(这里是dev)
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO dev;--授权
② 执行导出命令(20120927.dmp就是导出后的文件,会在DATA_PUMP_DIR 目录下存在)
expdp dev/[email protected]/javadb directory=DATA_PUMP_DIR dumpfile=20120927.dmp content=all --导出数据库
3.执行impdp命令导入
① 将20120927.dmp文件用winSCP进入到DATA_PUMP_DIR目录下导出来,然后导入到目标数据库服务器 上(转移到已经装好数据库的服务器上(192.168.25.50/orcl),注意存放的路径:在目标数据库服务器 上(192.168.25.50/orcl)重复1步骤,找出DATA_PUMP_DIR所指的路径,这个路径就是20120927.dmp文件 所要 放置的路径)
②授权给目标数据库服务器上的某个用户(这个用户及表空间需要自己建立,我这里的是表空间为data2的 用 户pro)
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO pro;
③执行导入命令
impdp pro/[email protected]/orcl DIRECTORY=DATA_PUMP_DIR dumpfile=20120927.dmp
content=all remap_schema=dev:pro remap_tablespace=data1:data2;