When attempting to provision a virtual database (VDB), or make a physical database using the Virtual to Physical feature (V2P), you may receive an error that says "ORA-00845: MEMORY_TARGET not supported on this system".
This issue is most likely to occur when using Linux target environments.
This is not a Delphix error - this error is generated by the Oracle database instance, and usually occurs when the database instance attempts to reserve more shared memory than is available on the system.
There are several possible causes for this error, including:
- Running more Oracle instances on a host than it has physical resources for;
- Having the shared memory configuration on the operating system too low for the MEMORY_TARGET defined by the database (Oracle Support document IDs 465048.1 and 1399209.1); or
- Provisioning to an environment which is configured with Linux HugePages, which is incompatible with the MEMORY_TARGET parameter (Oracle Support document ID 749851.1)
The Oracle alert log for the associated database should contain additional information, which will help you identify which of these issues is occurring.
If the provided MEMORY_TARGET is too high for the system
The MEMORY_TARGET value will typically be inherited from the dSource configuration, or from a VDB Configuration Template if one has been supplied.
To resolve this issue, select a smaller value for MEMORY_TARGET during provisioning.
For more information on changing parameters during provisioning, including MEMORY_TARGET, please refer to the document Configuration Setting for Oracle Virtual Databases.
If the /dev/shm file system is too small
To resolve this issue, please ask your system administrator to increase the size of /dev/shm. This is typically performed my modifying the filesystem table, /etc/fstab, e.g.:
tmpfs /dev/shm tmpfs defaults,size=8g 0 0
/dev/shm should be large enough to handle all Oracle instances with a configured MEMORY_TARGET, as well as any other software running on the system which uses shared memory.
After making changes, the /dev/shm filesystem will need to be remounted as follows when no Oracle instances are running:
mount -o remount /dev/shm
If Automatic Memory Management is not supported
If Automatic Memory Management and the MEMORY_TARGET parameter are not supported on the target operating system, remove the MEMORY_TARGET parameter from your VDB Configuration Template and use the SGA configuration parameters SGA_TARGET and SGA_MAX_SIZE instead.
For more information on removing or adding parameters during provisioning, including MEMORY_TARGET, SGA_TARGET and SGA_MAX_SIZE, please refer to the document Configuration Setting for Oracle Virtual Databases.
Consult with your Linux administrator before making any changes.
Oracle Support Doc ID 465048.1: ORA-00845 Raised When Starting Instance
Oracle Support Doc ID 749851.1: HugePages and Oracle Database 11g Automatic Memory Management (AMM) on Linux