Сбой dbms_hs_parallel с ошибкой

Я хотел бы загрузить параллельные данные из оракула в оракул, используя пакет dblink и dbms_hs_parallel. Для этого у меня есть 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 в моей БД, пакет создает его. Это означает, что пакет делает то, что ожидается, но, к сожалению, не вставляет данные.

1 ответ

Решение

Я считаю, что документы Oracle Database объясняют, почему вы получили свою ошибку:

Имя ссылки на удаленную базу данных. Вызов может быть применен только к разнородной связи базы данных служб.

Источник: DBMS_HS_PARALLEL

БД Oracle - БД Oracle - это однородное соединение, которое не использует агент гетерогенных служб, поскольку ни одно из них не требуется.

Если вы не хотите использовать обычный оператор CTAS/INSERT/MERGE, посмотрите на dbms_parallel_execute.

Другие вопросы по тегам