Applicable Delphix Versions
Provisioning or refreshing an Oracle virtual database (VDB) fails with the following errors:
ORA-27300: OS system dependent operation:semget failed with status: 28 ORA-27301: OS failure message: No space left on device ORA-27302: failure occurred at: sskgpcreates
Another variation of the ORA-27300 error for Linux:
ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device
The error "ORA-27300: OS system dependent operation:semget failed with status: 28" is an issue that has to do with the configuration of the Oracle database and the target host environment. The second message "ORA-27301: OS failure message: No space left on device" is confusing and misleading as it leads the DBA to believe there are disk space issues when there are none.
The SEMMNI kernel parameter controls the number of semaphores per array. If set too low the additional semaphores needed cannot be created and a error will occur.
There is also a direct correlation to the DB init.ora parameter PROCESSES. With a higher PROCESSES number there needs to be a higher SEMMNI value at the OS level to compensate.
Here are some additional Oracle documents that explain the error:
https://support.oracle.com/epmos/faces/DocContentDisplay?id=949468.1 https://support.oracle.com/epmos/faces/DocContentDisplay?id=1595770.1 https://support.oracle.com/epmos/faces/DocContentDisplay?id=567506.1
- Use the "ipcs" and "sysctl" commands as instructed in the Oracle knowledgebase articles to determine if the SEMMNI kernel parameter is configured appropriately on the host the VDB is being provisioned to.
- When provisioning a VDB, confirm that the "PROCESSES" parameter was set to an appropriate value for the target host. When you create a VDB, the Delphix Engine copies configuration settings from the source database and uses them to create the VDB. These values may not be appropriate if the VDB is being provisioned to a smaller target environment. Oracle configuration settings can be altered when provisioning a VDB. Templates can be created to save configuration parameters for future use.