从一个用户/实例/服务器复制架构的最佳方法是什么:
jdbc:oracle:thin:@deeb02:1535:DH, user pov
到另一个用户/实例/服务器
jdbc:oracle:thin:@123.456.789.123:1523:orcl, user vrs_development
答案 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文件系统中的正确位置。