sql - Oracle 使用 dblink 从远程表调整插入
问题描述
我有一个包含 3 亿条记录的远程表,我需要将所有数据插入本地数据库的表中。
我尝试使用
- BULK COLLECT子句。
- 合并子句。
- 平行插入
所有选项都需要太多时间。
我可以使用哪些其他选项以有效的方式插入所有记录?
我在远程和本地数据库中使用 Oracle 11g
解决方案
另一种选择是转储表并在本地加载它,然后插入数据。通常我在批量插入上使用带有绑定变量的游标循环。但是批量收集很有趣,您可以使用它。
expdp scott/tiger@db10g tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=expdpEMP_DEPT.log
impdp scott/tiger@db10g tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=impdpEMP_DEPT.log
推荐阅读
- python - 如何将“args=(...)”添加到我自己函数的参数中?
- javascript - Node、Javascript 中的算法优化
- apache-zeppelin - Zeppelin - 如何授予用户权限
- batch-file - 使用 .bat 文件删除除两个文件夹之外的所有文件夹
- c# - C#中的图像缩小
- javascript - 按下按钮时选择的 div 标签的内容 - javascript
- python - 形状 (401,1) 和 (401,1) 未对齐:1 (dim 1) != 401 (dim 0)
- python - 取消/中断 cx_oracle 上的 query.execute()
- html - 将加载器与无序列表元素的中心对齐
- javascript - 如何仅从客户端向服务器发送 WebSocketSubject 消息?