Oracle 10g の INSERT クエリが、「dblink からの SQL*Net メッセージ」イベントでスタックしています。次のようになります。
INSERT INTO my_table (A, B, C, ...)
SELECT A, B, C, ... FROM link_table@other_system;
my_table
私がやろうとしている INSERT からのロック以外にロックが表示されません。の SELECT クエリはlink_table@other_system
、単独で実行すると問題なく完了します。この問題は、INSERT を実行しようとしたときにのみ発生します。
ここで何が起こっているのか知っている人はいますか?
UPDATE SELECT を単独で実行すると、約 1.5 分で 4857 行が返されます。INSERT は、私が強制終了する前に、この待機メッセージで 1 時間以上実行されていました。
更新 メソッドにエラーが見つかりました。結果を制限するために日付範囲を使用していました。SELECT のみをテストするときに使用した日付範囲は、link_table で最後に OraStats を実行する前でしたが、INSERT をテストするときに使用した日付範囲は、link_table で最後に OraStats を実行した後です。そのため、INSERT に問題があると誤解されてしまいました。これを行うのはあまり科学的ではありません。私の間違い。