问题描述
你好克里斯,你好康纳。
通过dblink推送数据时,有什么方法可以直接插入路径?
我们的DWH目前截断并将数据加载到我们的表中,这需要太长的时间。我不确定到底需要这么长时间,无论是他们的服务器或网络上的负载还是其他任何东西,但我确信在我们这边生成撤消是不必要的,因为表可以是空的,也可以是完整的状态。
DWH不允许我们为其基础创建dblink,因此我们无法在我们这边创建insert /* append */。
在其他回复中,我偶然发现提到dblink并不是在数据库之间传输大量数据的好方法。除了金门,还有什么好方法可以做到这一点?
通过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之前跟踪本地和远程实例上的会话,以查看所有时间的去向:
然后,您可以使用TKPROF解析跟踪文件,以获取计划及其执行的详细细分。如果您正在努力理解这些内容,请在此处发布格式化的计划。
What is a good way to do that aside from Golden Gate?
你到底想做什么?这是一次性负载还是每周/每天/每小时的转移?你认为什么是 “大” 数据量?
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




