暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 通过dblink直接插入路径

ASKTOM 2021-02-05
321

问题描述

你好克里斯,你好康纳。

通过dblink推送数据时,有什么方法可以直接插入路径?

我们的DWH目前截断并将数据加载到我们的表中,这需要太长的时间。我不确定到底需要这么长时间,无论是他们的服务器或网络上的负载还是其他任何东西,但我确信在我们这边生成撤消是不必要的,因为表可以是空的,也可以是完整的状态。

DWH不允许我们为其基础创建dblink,因此我们无法在我们这边创建insert /* append */。

在其他回复中,我偶然发现提到dblink并不是在数据库之间传输大量数据的好方法。除了金门,还有什么好方法可以做到这一点?

专家解答

正如医生所说:

A transaction containing a direct-path INSERT statement cannot be or become distributed.

https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/INSERT.html#GUID-903F8043-0254-4EE9-ACC1-CB8AC0AF3423

所以我认为你在这里运气不好。

I'm not sure what exactly takes it so long

然后找出答案!

在运行insert之前跟踪本地和远程实例上的会话,以查看所有时间的去向:

exec dbms_monitor.session_trace_enable@remote ( waits => true, binds => true );
exec dbms_monitor.session_trace_enable ( waits => true, binds => true );


然后,您可以使用TKPROF解析跟踪文件,以获取计划及其执行的详细细分。如果您正在努力理解这些内容,请在此处发布格式化的计划。

What is a good way to do that aside from Golden Gate?

你到底想做什么?这是一次性负载还是每周/每天/每小时的转移?你认为什么是 “大” 数据量?
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论