私がサポートする多くのストアド プロシージャは、WAN 経由でリモート データベースにクエリを実行します。ネットワークはときどきダウンしますが、これまでに起こった最悪の事態は、手順が失敗し、再起動する必要があったことです。
ここ数週間、不吉な方向に進んでいます。手順が失敗する代わりに、奇妙なロック状態でハングします。これらは Oracle 内で強制終了することはできず、それらが存在する限り、プロシージャの他のコピーを実行しようとするとハングします。私たちが見つけた唯一の解決策は、OS からの「kill -9」で問題のあるプロシージャを強制終了することです。これらの手順の一部は、数か月、さらには数年も変更されていないため、DB または DB 構成に根本的な原因があると思われます。
問題を解決するために私たちができることについて何か考えがある人はいますか? または、PL/SQL には、プログラムで処理できる例外を作成できるように、コードに追加できるタイムアウト メカニズムがありますか?