RE: MMAN blocker

  • From: Stefan Koehler <contact@xxxxxxxx>
  • To: nenad.noveljic@xxxxxxxxxxxx, "ORACLE-L (oracle-l@xxxxxxxxxxxxx)" <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 25 Jul 2019 16:07:18 +0200 (CEST)

Hello Nenad,

=> So if I've understood correctly, you're suggesting that the MMAN might 
have waited on a semaphore held by some other process?

I was trying to figure out if MMAN got/send some notification via semaphore or 
if some other processes were involved in IPC communication at all ("The pid 
column identifies the most recent process to complete a semaphore operation."). 
Not quite sure if semaphore posts are always guaranteed to arrive nowadays (or 
the mess of crashed processes, etc. is cleaned up properly) - wanted to go a 
little bit deeper here with it :-)


=> But then why ORA-04031 flood, in the first place? According to the system 
dump there was plenty of free memory to fulfill the request, at least at some 
point. The scenario of not being able to find consecutive 40 bytes seems 
rather unlikely.

Sorry I may got your question wrong but I thought you wanna know what kind of 
action triggers MMAN as you wrote "How does a session makes a decision whether 
to allocate a chunk from the free memory or to wait on 'SGA: allocation forcing 
component growth'?". Seems like it was not or there is a bug for finding free 
space :-)

Best Regards
Stefan Koehler

Independent Oracle performance consultant and researcher
Website: http://www.soocs.de
Twitter: @OracleSK

Noveljic Nenad <nenad.noveljic@xxxxxxxxxxxx> hat am 25. Juli 2019 um 15:39 
geschrieben:


Hello Stefan,

"have you checked the involved semaphore(s) for/with OS PID 26758?
=> Unfortunately, the information about the semaphores wasn't collected. 
Unluckily, it was a one-off problem so it's quite unlikely that we'll ever 
get a second chance to capture this information.

"Was it running on the default time-out or was there also another PID 
involved (ipcs -si)?"
=> So if I've understood correctly, you're suggesting that the MMAN might 
have waited on a semaphore held by some other process?

" so the wait only happens after session ran into ORA-4031."
=> But then why ORA-04031 flood, in the first place? According to the system 
dump there was plenty of free memory to fulfill the request, at least at some 
point. The scenario of not being able to find consecutive 40 bytes seems 
rather unlikely.

Best regards,

Nenad

https://nenadnoveljic.com/blog/
--
//www.freelists.org/webpage/oracle-l


Other related posts: