MSDTC と Oracle を使用して問題が発生しています。これは .net アプリケーションであり、TransactionScope クラスを使用してトランザクションを制御しています。
問題は、トランザクションがロールバックされた場合 (scope.Complete を呼び出さずに scope.Dispose が呼び出された場合)、ロックされたレコードを解放せずに長時間「中止」状態のままになることがあります。トランザクションが "Aborting" 状態のままであっても、トランザクションを中止するために Dispose が呼び出されると、すぐに戻るため、スレッドがスタックすることはありません。
トランザクションがこのように動作し、中止が呼び出された後にロックを保持する原因を知っている人はいますか?
ありがとう