如何在不同服务器上的两个不同数据库之间复制或导入Oracle模式?

时间:2011-12-09 20:18:26

标签: oracle

从一个用户/实例/服务器复制架构的最佳方法是什么:

jdbc:oracle:thin:@deeb02:1535:DH, user pov

到另一个用户/实例/服务器

jdbc:oracle:thin:@123.456.789.123:1523:orcl, user vrs_development

3 个答案:

答案 0 :(得分:8)

同样,如果你使用的是Oracle 10g +,你应该能够使用Data Pump:

expdp user1/pass1@db1 directory=dp_out schemas=user1 dumpfile=user1.dmp logfile=user1.log

并导入:

impdp user2/pass2@db2 directory=dp_out remap_schema=user1:user2 dumpfile=user1.dmp logfile=user2.log

答案 1 :(得分:5)

使用oracle exp实用程序从第一个数据库中转储模式

exp user1/pass1@db1 owner=user1 file=user1.dmp log=user1.log

然后使用imp实用程序填充其他数据库中的其他模式

imp user2/pass2@db2 fromuser=user1 touser=user2 file=user1.dmp log=user2.log

答案 2 :(得分:0)

您可以使用datapump参数NETWORK LINK通过网络直接复制架构(无需将文件从一台服务器移动到另一台服务器),如下所述:

http://vishwanath-dbahelp.blogspot.com/2011/09/network-link-in-datapump.html

例如:

impdp -userid user/pass@destination_server LOGFILE=log.txt NETWORK_LINK=dblink_from_dest_to_source SCHEMAS=schema1 directory=DATA_PUMP_DIR

检查目录DATA_PUMP_DIR是否存在

select *
from dba_directories

并指向destination_server文件系统中的正确位置。