数据泵实现Oracle数据迁移到异地库


今天发现impdp命令有个特殊的用途,可以将数据库的一个用户迁移到另一台机器上的数据库的用户中。如果目标用户不存在,还可以对应的创建该用户。

 下面就来看一下命令格式:

Impdpusername/passwd@dbsnameremap_schema=userA:userB remap_tablespace=tbsA:tbsB network_link=dblink_to_userA_on_userB

说明:
Userid:Username/passwd@dbsname。用户建议为system。
Remap_schema: userA:userB。数据库用户映射。
Remap_tablespace: tbsA:tbsB。默认表空间映射。
Schemas: userA。必须是dblink中指定用户。建议不指定。
Directory: 该种模式下,此参数指定的是日志文件的路径。如果不指定,则路径默认为data_pump_dir。
Network_link: 在备份库上创建的连接到目标机的dblink。

这样就能快速的把A库上的用户迁移到B库上。

不过有几个前提:

1、username:这个操作的数据库用户建议是system,如果是其他用户的话就需要有dba权限的用户才能执行;

2、dblink:必须能够连接到对应库上的数据库用户下。

相关内容