Oracle 接続が失敗あるいは遅い問題
Talend Open Studio for Data Integration v6.4.1 で作成したジョブから Oracle10g への接続を行いデータを取得するバッチ処理を作成したところ、おおよそ5回に1回程度の割合でデータベース接続が失敗あるいは接続が確立されるまでとても時間が掛るという事象に遭遇した。Talend のジョブと Oracle10g との間のネットワークには問題はなく、またファイアウォールのタイムアウトによる問題でもないことまでは調査したが、全く原因が掴めませんでした。
https://kb.sos-berlin.com/display/PKB/ORACLE+IO+exception+-+Connection+reset+or+Timeout+reached+-+30s+-+for+process
[関連記事]
Talend Open Studio for Data Integration でのジョブ作成方法Talend Open Studio for Data Integration で Oracle 接続が失敗あるいは遅い
解決策
しかし不規則にデータベース接続が失敗したり、または接続に非常に時間が掛るようではミッションクリティカルなシステムや失敗しては困るジョブの実行には使えない。そこで前述の URL で提示されている解決策を Talend Open Studio for Data Integration でも実装してみる。(日本語モードで起動)
(英語モードで起動)
上図のように Java VM のパラメータに下記設定を追加すると良い。
-Djava.security.egd=file:/dev/./urandom
上記設定を加えてジョブを再デプロイしておよそ2ヶ月程度様子を見ているが、以前はおよそ1週間に1度の頻度で接続が失敗していたものが、今ではおよそ2ヶ月程度の間まったく接続失敗や接続遅延がなくなった。