Getting ORA-00845: MEMORY_TARGET not supported on this system, while trying to start a database.

Error
sql> startup
ORA-00845: MEMORY_TARGET not supported on this system

Reason:

This is a very common error which you might face while starting up your oracle database. This happens when your system is out of temporary storage. While starting up the database oracle uses /dev/shm to store temporary files but when it runs out of memory you get this error.

/dev/shm is also know as tmpfs i.e. temporary file system which keeps all the file system in virtual memory to speed up several processes.

Solution:

Increase the size of /dev/shm

To check the size of /dev/shm
root@localhost# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 10G 4.4G 2.9G 61% /
tmpfs 504M 76K 504M 1% /dev/shm
/dev/sda1 194M 25M 160M 14% /boot

To increase the size
root@localhost# mount -o remount,size=3G /dev/shm
Verify the size
root@localhost# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.6G 4.4G 2.9G 61% /
tmpfs 3G 1007M 2.1G 33% /dev/shm
/dev/sda1 194M 25M 160M 14% /boot

To make permanent changes to your file system update your fstab
root@localhost# vi /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=3G 0 0

 

Update the new fstab file
root@localhost# mount -a