Semaphores and Shared Memory for Oracle
Semaphores and shared memory are two extremely different sets of operating system substances. Semaphores are a system resource that Oracle exploits for the internal communication systems of background processes and foreground processes, and they dwell in a reasonably very small memory space. Shared memory is employed to hold the shared global area and can acquire a large portion of physical memory space. This means, semaphores occupy very small memory and shared memory contains large memory. Segment which resides in shared memory is called a shared memory segment and SGA resides in shared memory. Due to this reason, SGA is called a shared memory segment of the operating system.
System memory resource allocation to semaphores and shared memory is organized by operating system kernel. The operating system kernel is the core component of the system. All resources are managed by kernel in Unix and Linux. For configuring semaphores there are three operating system kernel parameters available. These parameters allocate, control resource management to semaphores. Those are called as SEMMNI, SEMMSL, and SEMMNS. SEMMNI stands for semaphores identifiers or sets of semaphores. Each semaphore set contains maximum number of SEMMSL value of semaphores. Total semaphores are available as value of SEMMNS. Maximum number of semaphores can be allocated on a system will be lesser of either (SEMMSL * SEMMNI) or value of SEMMNS.
When we are performing increment of total process of Oracle, then we also need to consider semaphore management and configuration of kernel. Because sometimes we will get mysterious error like ORA-7239 “spcre: maximum number of semaphore sets exceeded”
Operating system kernel parameters of semaphore and shared memory segment can be altered but for getting effect we need to restart the server and this is the worst scenario for 24/7 running databases. When you are remote dba services then this scenario is very problematic for you. Due to this reason, you need to take off these parameters proactively. If you will be able to assume this kind of alteration, then you can modify those parameters prior. When the server will be rebooted as scheduled maintenance or due to any disaster, then your modified parameter will take effect automatically. You don’t need to set special downtime for the same.
Means, every remote dba experts need to consider system kernel parameters with number of instances running on a single server, memory consumption and the number of session/process running in the same instance. If you are remotely monitoring your databases, then you are able to plan DBA tasks proactively. Proactive DBA tasks are very important in remote DBA areas.
Expert DBA team of Dbametrixhttps://www.dbametrix.com published one another article how to be an Expert in Oracle tuning here. You can get more knowledge-gaining articles for database administrator in our Expert DBA Team Club blog. Stay connected.
When you want to make a strong Oracle DBA career then you should be aware of database services and other database technology. Without having knowledge of Oracle internals, Oracle performance tuning, and skill of Oracle database troubleshooting you can’t be an Oracle DBA expert.
This expert DBA Team club blog always provides you latest technology news and database news to keep yourself up to date. You should need to be aware of Cloud database technology like DBaaS. All Oracle DBA tips are available in a single unique resource at our orageek. Meanwhile, we are also providing some sql tutorials for Oracle DBA. This is the part of Dbametrix Group and you would enjoy more advanced topics from our partner resource.