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;

すべての DB オブジェクトは有効ですが、エラーが発生します

"ORA-00904: "DBMS_HS_PASSTHROUGH"."AGENT_CLASS_NAME": 無効な識別子

ORA-06512: "SYS.DBMS_HS_PARALLEL"、1097行目

ORA-06512: 行 4".

挿入しようとすると失敗すると確信しています。DB に BRED_SIEBEL_CARDS がない場合、パッケージによって作成されるためです。つまり、パッケージは期待どおりの動作をしますが、残念ながらデータを挿入しません。

4

1 に答える 1

1

Oracle Databaseのドキュメントで、エラーが発生した理由が説明されていると思います:

リモート データベース リンク名。呼び出しは、異種サービス データベース リンクにのみ適用できます。

ソース: DBMS_HS_PARALLEL

Oracle DB - Oracle DB は、異機種間サービス エージェントを必要としないため、異機種間サービス エージェントを使用しない同種接続です。

通常の CTAS/INSERT/MERGE ステートメントを使用したくない場合は、dbms_parallel_executeを調べてください。

于 2013-09-11T16:17:21.713 に答える