New feature: influence of / dev/shm on Oracle 11g
/ impact of dev/shm on Oracle 11g:
Starting with the 11g version, ORACLE introduced an automatic memory management (Automatic Memory Management) feature that requires more shared memory (/ dev/shm), so if you decide to apply this feature, you must make sure that the shared memory is greater than the value of the initialization parameters MEMORY_MAX_TARGET and MEMORY_TARGET in ORACLE (specifically, these two parameters are the initialization parameters corresponding to the automatic memory management feature).
If the MEMORY_MAX_TARGET and MEMORY_TARGET parameters are set to non-zero values in the initialization parameters and do not match the system shared memory, an ORA-00845:MEMORY_TARGET not supported on this system error will be triggered when the ORACLE database starts.
The Linux version of Oracle 11g may report an error when starting after modifying MEMORY_TARGET or SGA_TARGET:
SQL > shutdown immediate
Database closed.
SQL > startup
ORA-00845: MEMORY_TARGET not supported on this system
The following error will be reported in the alert log of the database:
Starting ORACLE instance (normal)
WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the / dev/shm file system to be mounted for at least 10536091648 bytes. / dev/shm is either not mounted or is mounted with available space less than this size. Please fix this so that MEMORY_TARGET can work as expected. Current available is 8589852672 and used is 81920 bytes.
Memory_target needs larger / dev/shm
The problem is obvious: because the free space of / dev/shm (the total size of non-shm) is less than the MEMORY_ target value set in the parameter file.
The solution is to increase / dev/shm or decrease MEMORY_TARGET, which is solved by increasing / dev/shm:
Before modification:
Osedb01:~ # cat / etc/fstab | grep shm
Shm / dev/shm tmpfs size=11g 0 0
Osedb01:~ # df-h / dev/shm
Filesystem Size Used Avail Use% Mounted on
Shm 11G 6.5G 4.5G 59% / dev/shm
MEMORY_TARGET is set to 10G, while only 4.5G of / dev/shm free space is available.
Modify / dev/shm size:
Osedb01:~ # cat / etc/fstab | grep shm
Shm / dev/shm tmpfs size=18g 0 0
After the modification, you need to mount it again / dev/shm takes effect:
Osedb01:~ # mount-o remount / dev/shm
Osedb01:~ # df-h / dev/shm
Filesystem Size Used Avail Use% Mounted on
Shm 18G 6.5G 12G 36% / dev/shm
Restart the database again, normal!