DBのデータ連携中に発生したエラーについて

Four Stars

DBのデータ連携中に発生したエラーについて

 

お世話になります。
この度、talendで作成したジョブで原因不明のエラーが発生しました。
talendでOracleのデータを取得し、postgresへInsertする処理を行っております。
この処理はバッチ化され、夜中に毎日実行しています。
ところがある日、Insertの途中でエラーとなり処理が中断されました。

エラーログ(CSV)を確認すると

~~~省略~~~;Fri Dec 15 01:00:07 JST 2017;false;ilde in transaction;INSERT INTO ~~~

と出力されていました。
Oracle、Postgresのログにはエラーらしきものは残っておらず
talendをインストールしているサーバー(Windows2012)のイベントビューアにも
まったくエラーの形跡が無いため、原因が掴めずに居ます。
このバッチですが、約3ヶ月程毎晩実行しておりますが
エラーが発生したのは1回だけです。
エラー発生前後で処理を変更したりはしておりません。

こちらの原因を特定する何かいい方法は無いものでしょうか。
それと、こちらが重要なのですが
今後同じエラーが発生した際に、原因特定に繋がるように
何か詳細なログを残すような事はできないものでしょうか。

非常に曖昧な質問で恐縮ではありますが
宜しくお願い致します。

 

Five Stars

Re: DBのデータ連携中に発生したエラーについて

sdc_itoさん

 

DBの知識をお持ちの方の助けが必要そうなご質問ですね。

私は知識を持っていないのですが、エラーメッセージからpostgresが原因かとおもわれますので、

下記のサイトで紹介されている統計ツールはいかがでしょうか。

 

mackerel

http://soudai.hatenablog.com/entry/mackerel-plugin-postgres

 

「idle in transaction: バックエンドはトランザクションの内部にいますが、現在実行中の問い合わせが現在ありません。」

この意味が私にはあまり理解できておりませんが、talendがpostgresへ渡す時に何かを失敗したか、

Oracleからの出力で何かエラーが出たかのかなぁ、というように見えますね。

そのログを取得されたいということなのでしょうけれども。。お力になれず。

 

Four Stars

Re: DBのデータ連携中に発生したエラーについて



t-takamatsuさん

 

ありがとうございます。

統計ツールの情報、助かりました。

こちらでも色々試してみようと思います。

 

重ねて、ありがとうございました。