How to Fix [ORA-00845: MEMORY_TARGET not supported on this system]

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.


Error:sql> startup
ORA-00845: MEMORY_TARGET not supported on this system
Reason:
/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

# df -h
Filesystem    Size   Used  Avail  Use%  Mounted on
/dev/sda3     7.6G   4.4G  2.9G  61%    /
tmpfs         504M   76K   504M  1%     /dev/shm
/dev/sda1     194M   25M   160M   14%   /boot

To increase the size
# mount -o remount,size=3G /dev/shm

Verify the size

# 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

# vi /etc/fstab
tmpfs  /dev/shm  tmpfs  defaults,size=3G  0 0

Update the new fstab file

# mount -a