适用的场景为两个数据库。databaseA,databaseB
想要把A中某个表的数据复制到B中去,那么有好几种方法,一种是直接导数sql语句,在B上运行,insert,这样的话导出和插入需要耗费大量时间。还有就是可以用dblink,在B上创建B到A的dblink,然后在B上执行建表语句--create table XXXX as select * from XXX@DB_LINK_NAME;这样就可以在B上新建一张表。这速度会快很多,1万条数据约1s搞定,但是这样也有不好的地方。就是这样创建的纯粹是一张新表,不会有表结构也不会有分区。
那么,最好的方式就需要用impdp来了。
参考链接:https://www.cnblogs.com/lcword/p/8213745.html
首先dblink是必须的。如何创建dblink:https://blog.csdn.net/weixin_39428938/article/details/78709286
然后要合理的用参数,network_link是最主要的参数。针对某个表导出的话要用tables参数。
这些准备好了之后需要的注意点就是,表空间和索引空间需要事先建好,要不会报错。
如何创建表空间:https://www.cnblogs.com/g253187360/p/8110252.html
总的来说impdp方法算是目前看来最好的方法了。两千万的数据在28分钟内完成。