Сбой 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.