5

我想使用 dblink 和 dbms_hs_parallel 包将并行数据从 oracle 加载到 oracle。为了做到这一点,我在下面列出了 plsql:

declare
  lInserted number;
begin
  dbms_hs_parallel.LOAD_TABLE('SIEBEL.S_LOY_CARD','SIEBEL', 'BRED_SIEBEL_CARDS', true, 16, lInserted);
  dbms_output.put_line(lInserted);
end;

所有数据库对象都有效,但出现错误

"ORA-00904: "DBMS_HS_PASSTHROUGH"."AGENT_CLASS_NAME": 无效标识符

ORA-06512:在“SYS.DBMS_HS_PARALLEL”,第 1097 行

ORA-06512:在第 4 行"。

我很确定它在尝试插入时会失败。因为如果我的数据库中没有 BRED_SIEBEL_CARDS,则程序包会创建它。这意味着该包执行预期的操作,但不幸的是没有插入数据。

4

1 回答 1

1

我相信 Oracle 数据库文档解释了您为什么会遇到错误:

远程数据库链接名称。该调用只能应用于异构服务数据库链接。

来源:DBMS_HS_PARALLEL

Oracle DB - Oracle DB 是一个同构连接,它不使用异构服务代理,因为不需要。

如果您不想使用常规 CTAS/INSERT/MERGE 语句,请查看dbms_parallel_execute

于 2013-09-11T16:17:21.713 回答