Informixからデータを取得し、それをOracleのテーブルに挿入し、元のテーブルのフラグを更新する単純なデータインポーター/アップデーターに問題があります。セットアップはこれです
Pro*C program calls a PL/SQL procedure
The procedure
opens a cursor on Informix,
loops through each row
insert the data into an oracle table
commit
update the "new data" flag in Informix (i.e. stop a re-import)
commit
特定のOracleエラーを停止するには、2つのコミットが必要です(どちらかを忘れましたが、更新されるテーブルが2つのデータベースにあり、1つのコミットでは処理できないためです)。このコードは、ソーステーブルの少数のレコード(5〜10)に対しては正常に機能しますが、1000を超えるとフォールオーバーします。Oracleログディレクトリのアラートログに、「リモートエージェントへのRPC接続が失われました」というエラーが表示されます。Informixディレクトリに対応するエラーがないため、ドライバに障害があると思われます。RedHatのunixODBCドライバーでOracle10.2を使用しています。
誰かが回避策や実際にそれを修正する方法について何かアイデアがありますか?このエラーメッセージに関する有用な情報はないようです。ほとんどのページは、「Oracleの問題ではありません」という行に沿って何かを言っているだけです。