Oracle
 sql >> база данни >  >> RDS >> Oracle

Доставчикът на данни на Oracle закрепва работния процес на IIS, когато уеб сайтът е спрян

Всичко, което задейства повторно компилиране (промяна на web.config, промяна на app_offline.htm, .aspx файл и т.н.), води до максимално използване на процесора в ядрото. Ако повторите процеса, той увеличава използването на процесора на следващото ядро, докато общото използване на процесора достигне 100%.

Свързах windbg с sos разширения и изглежда, че за всяко максимално изчерпано ядро ​​има 1 нишка, заседнала в System.AppDomain.Unload(System.AppDomain) и друга заседнала в Oracle.DataAccess.Client.OracleTuningAgent.DoScan().

Първа нишка

  • Oracle.DataAccess.Client.OracleTuningAgent.DoScan()
  • Oracle.DataAccess.Client.OracleTuningAgent.TuningFunction()
  • System.Threading.ExecutionContext.Run(System.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. Добавете „Self Tuning=false“ към низа за връзка. Разбира се, ще загубите предимствата на автоматичната настройка.

-Скот



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Базата данни на Oracle виси безкрайно в заявки за UPDATE

  2. НАЧАЛО - КРАЙ блок атомарни транзакции в PL/SQL

  3. Стартиране на PHP:Не може да се зареди динамична библиотека 'C:\xampp\php\ext\php_oci8_12c.dll' - Посочената процедура не може да бъде намерена

  4. Печат на полета за запис в PL/SQL

  5. Използване на множество Oracle JDBC драйвери в едно Java приложение?