2010-05-06 35 views
11

在Oracle 11g第2版中,w3wp進程接管整個處理器核心,並且調試顯示Oracle數據提供程序無限地拋出ThreadAbortExceptions,我們遇到了一個令人討厭的問題。開發人員通過執行以下操作發現此問題:當網站停止時,Oracle數據提供者鎖定IIS工作進程

1)瀏覽在本地使用Oracle數據連接的網站(http://localhost/OracleWebSite - 我們使用IIS,而不是ASP.NET開發服務器,用於我們所有的站點)。這可確保w3wp進程正在運行,並且應用程序池中存在活動的Oracle連接池。

2)停止網站(或在相關網站上的Visual Studio中執行重建所有操作)。

我們在受影響的應用程序(所有Oracle Web應用程序)中的Oracle連接處理已經建立,並且非常健壯。如果我們禁用連接池,則不會發生此問題。在Oracle 11g第1版中不會發生此問題。

回答

8

這已得到解決。該修補程序在Oracle 11.2.0.1.2中發佈,可通過oracle.com網站獲得。

不幸的是,修復程序目前只能通過「My Oracle Support」帳戶使用。

這已在11.2.0.2和修補程序9966926中修復了ORACLE 11G 11.2.0.1 PATCH 5 BUG FOR WINDOWS(64位AMD64和INTEL EM64T)。

或解決方法:是通過向連接字符串添加「Self Tuning = false」來禁用自調整。

+0

我不認爲它已在您列出的版本中修復。我相信它在版本11.2.0.1.2中得到了修復。 – 2011-09-19 21:18:40

+0

謝謝比爾,修好了。 – 2011-10-04 15:40:34

14

任何觸發重新編譯(web.config更改,app_offline.htm,.aspx文件更改等)都會導致內核的CPU使用率達到最大值。如果重複此過程,則會使下一個內核的CPU使用率達到最大,直到總體CPU使用率達到100%。

我把windbg與sos擴展連接起來,它看起來像每個最大的核心有一個線程卡在System.AppDomain.Unload(System.AppDomain)中,另一個卡在Oracle.DataAccess.Client.OracleTuningAgent.DoScan( )。

第一線

  • Oracle.DataAccess.Client.OracleTuningAgent.DoScan()
  • Oracle.DataAccess.Client.OracleTuningAgent.TuningFunction()
  • System.Threading.ExecutionContext.Run(系統。 Threading.ExecutionContext,System.Threading.ContextCallback,System.Object的)
  • System.Threading.ThreadHelper.ThreadStart()

第二線程

  • System.AppDomain.Unload(System.AppDomain)
  • System.Web.HttpRuntime.ReleaseResourcesAndUnloadAppDomain(System.Object的)
  • System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext ,System.Threading.ContextCallback,System.Object)
  • System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(System.Threading。 _ThreadPoolWaitCallback)
  • System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(System.Object的)

看起來AppDomain.Unload正在等待OracleTuningAgent.DoScan完成,但線程被阻塞或睡眠。

Oracle已經確認了這個問題(錯誤#9648040),這是重中之重。在此期間,可能的解決方法是:

  1. 回滾到11gR1中/早期客戶
  2. 添加的自我調整=假「到連接字符串。你當然會失去自動調整的好處。

斯科特

+0

乾杯斯科特,這解決了我的問題,雖然稍有不同。基本上我的單元測試運行者沒有通過其他好的測試,因爲他們無法卸載他們的appdomain。希望甲骨文儘快發佈修補程序。 – stephenl 2010-08-10 06:45:20