私は Oracle セッションを試しており、データベースに古いセッションがある場合に状況を把握しようとしています。ネットワークをオフにした後、なんとかこれを行うことができました-データベースセッションはまだ生きており、取得されたすべてのロックを保持しています。これは明らかです。Oracle は、TCP セッションが壊れていて、まだリクエストを待っていることを認識していません。
しかし、他の試行は機能しません。クライアントを接続し、最終的に「kill -9」でクライアントを強制終了する場合です。前の例と同じ状況が予想されます (TCP 接続がサーバー側で動作しているため、Oracle の古いセッション) - しかし、セッションがクリアされていることがわかります! ロックと同様に。理由がわかりません-SIGKILLシグナルは、「さようなら」メッセージを伴うTCPのシャットダウンなどのフックを起動する機会なしにプロセスを強制終了することが期待されています。OS (MacOs) がすべての TCP ソケットを解放し、プロセスの終了時に終了メッセージを送信すると思われますが、これは単なる推測であり、実際には証明できませんでした..
知るか?