I need your expertise in the area of semaphore and SGA coordination. I have gone through some online docs and came to understanding that semaphores are responsible for process communication that connect to SGA. I still don't have proper understanding and conceptual idea on this area. Please help me to get a better understanding in this area. Thanks in advice for your help.
Semaphores are not an Oracle concept per-se but a concept rooted in some Unix flavors. Please note AIX which is IBM's Unix flavor relies on post-wait drivers to accomplish the same objective.
So, why does Oracle relies on semaphores -when available? to serialize processes making sure event B happens after event A completes. This is mostly used to sync processes.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
Thanks for your info sir. So is it all about serialization like when one process is using DBWR other process has to wait until the first process completes or free the DBWR, did I get it right please correct me if i am wrong. Thanks in advance.
Not a good example but that's the general idea, yes.
Picture this. DBWR is about to write a block and detects there is an associated redo still unwritten so DBWR can't write the block, isnt' it?
What happens then?... DBWR sends a request for service to LGWR and sets a LGWR-semaphore to Unix asking Unix to activate LGWR then DBWR orders a margarita and sits pretty waiting to see a DBWR-semaphore - DBWR is now waiting in an event, which event?... the DBWR-semaphore a.k.a. log-file-sync or something like that. On time, Unix will run LGWR which will write the offending redo then LGWR will set DBWR-semaphore which will tell DBWR to try again.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
Bookmarks