Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dbms_hs_parallel fails with error

I would like to load parallel data from oracle to oracle using dblink and dbms_hs_parallel package. In order to do it I have plsql listed below:

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;

All DB objects are valid but I get an error

"ORA-00904: "DBMS_HS_PASSTHROUGH"."AGENT_CLASS_NAME": invalid identifier

ORA-06512: at "SYS.DBMS_HS_PARALLEL", line 1097

ORA-06512: at line 4".

I'm pretty sure it fails during an attempt to insert. Because if I have no BRED_SIEBEL_CARDS in my DB, the package creates it. Which means the package does what is expected, but doesn't insert data unfortunately.

like image 513
Alexander Tokarev Avatar asked Nov 12 '22 22:11

Alexander Tokarev


1 Answers

I believe Oracle Database docs explain why you got your error:

The remote database link name. The call can only be applied to a heterogeneous services database link.

Source: DBMS_HS_PARALLEL

Oracle DB - Oracle DB is a homogeneous connection, that does not use a Heterogeneous Services Agent, because none is required.

If you don't want to use a regular CTAS/INSERT/MERGE statement, look into dbms_parallel_execute.

like image 141
piotrp Avatar answered Nov 14 '22 23:11

piotrp