許多存儲過程我支持通過WAN查詢遠程數據庫。網絡偶爾會出現故障,但是發生的最糟糕的情況是程序失敗,必須重新啓動。網絡中斷導致存儲過程通過數據庫鏈接查詢以永久掛起
在過去的幾個星期,這是一個邪惡的轉折。而不是失敗的程序掛在一個奇怪的鎖定狀態。他們不能在Oracle內部被殺,只要他們存在任何嘗試運行該程序的其他副本就會掛起。我們發現的唯一解決方案是通過操作系統中的「kill -9」殺死違規程序。其中一些程序幾個月甚至幾年都沒有改變,所以我懷疑DB或DB配置中存在根本原因。
任何人有任何想法,我們可以做什麼來解決問題?或者PL/SQL有一個超時機制,我可以將其添加到代碼中,以便我可以創建一個可以以編程方式處理的異常?
Oracle Database 10g企業版版本10.2.0.3.0 - 64bi PL/SQL存儲過程。我審查了程序,我沒有看到任何地方無限循環。有趣的是,在第一次發生之前的4天,安裝了10月份的CPU。可能導致了它? – Jeff 2008-12-01 20:41:31