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

如何在不同服务器上的两个不同数据库之间复制或导入Oracle架构?,oracle,Oracle,从一个用户/实例/服务器复制架构的最佳方式是什么: jdbc:oracle:thin:@deeb02:1535:DH, user pov 到另一个用户/实例/服务器 jdbc:oracle:thin:@123.456.789.123:1523:orcl, user vrs_development ?使用oracleexp实用程序从第一个数据库转储架构 exp user1/pass1@db1 owner=user1 file=user1.dmp log=user1.log 然后使用imp实用

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

jdbc:oracle:thin:@deeb02:1535:DH, user pov
到另一个用户/实例/服务器

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

使用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

同样,如果您使用的是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

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

例如:

impdp -userid user/pass@destination_server LOGFILE=log.txt NETWORK_LINK=dblink_from_dest_to_source SCHEMAS=schema1 directory=DATA_PUMP_DIR
检查目录数据\u PUMP\u DIR是否存在于

select *
from dba_directories

并指向目标服务器文件系统中的正确位置。

我遇到了一个问题。有必要设置dp_。我已经按照以下方式完成了:将createanydirectory授予SCHEMA_NAME;创建目录DP_OUT作为'PATH_TO_DIR';e、 g:经验人力资源/hr@myHostName:1521 owner=hr file=hr.dmp log=hrdump.log然后imp myDb/myPass@myHostName:1521 full=y file=hr.dmp log=mydump.log