sql >> Databáze >  >> RDS >> Oracle

Poskytovatel dat Oracle zavěsí pracovní proces IIS, když je web zastaven

Cokoli, co spouští rekompilaci (změna web.config, app_offline.htm, změna souboru .aspx, atd.), způsobí maximální využití CPU na jádře. Pokud proces zopakujete, maximalizuje využití CPU na dalším jádře, dokud nebude celkové využití CPU na 100 %.

Připojil jsem windbg s rozšířeními sos a vypadá to, že pro každé vytížené jádro je 1 vlákno zaseknuté v System.AppDomain.Unload(System.AppDomain) a další na Oracle.DataAccess.Client.OracleTuningAgent.DoScan().

První vlákno

  • 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()

Druhé vlákno

  • 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)

Vypadá to, že AppDomain.Unload čeká na dokončení OracleTuningAgent.DoScan, ale toto vlákno je blokováno nebo spí.

Oracle potvrdil problém (chyba č. 9648040) a je to nejvyšší priorita. Mezitím jsou možná řešení:

  1. Vraťte se k 11gR1/staršímu klientovi
  2. Přidejte do připojovacího řetězce 'Self Tuning=false'. Samozřejmě přijdete o výhody automatického ladění.

-Scott



  1. Jak načíst data z mysql do chart.js

  2. Nelze se připojit k místnímu serveru MySQL přes soket

  3. Odstranit duplikáty pouze pomocí dotazu MySQL?

  4. Vytvoření spouštěče pro vložení podřízené tabulky vrátí matoucí chybu