// // ORA-00845: MEMORY_TARGET not supported on this system

A technical troubleshooting blog about Oracle with other Databases & Cloud Technologies.

ORA-00845: MEMORY_TARGET not supported on this system

1 min read

While trying to start database

While trying to start database

You might be using Automatic Memory Management (AMM).

AMM uses two initialization parameters:

  • MEMORY_TARGET
  • MEMORY_MAX_TARGET

The shared memory file system should have enough space to accommodate the MEMORY_TARGET and MEMORY_MAX_TARGET values.

To verify:

SQL> show parameter memory

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address	     integer	 0
inmemory_adg_enabled		     boolean	 TRUE
inmemory_automatic_level	     string	 OFF
inmemory_clause_default 	     string
inmemory_expressions_usage	     string	 ENABLE
inmemory_force			     string	 DEFAULT
inmemory_max_populate_servers	     integer	 0
inmemory_optimized_arithmetic	     string	 DISABLE
inmemory_prefer_xmem_memcompress     string
inmemory_prefer_xmem_priority	     string
inmemory_query			     string	 ENABLE
inmemory_size			     big integer 0
inmemory_trickle_repopulate_servers_ integer	 1
percent
inmemory_virtual_columns	     string	 MANUAL
inmemory_xmem_size		     big integer 0
memory_max_target		     big integer 0
memory_target			     big integer 0
optimizer_inmemory_aware	     boolean	 TRUE
shared_memory_address		     integer	 0

In UNIX/Linux, you will have to set the shared memory file system accordingly.

Verify:

df -h /dev/shm

Set:

mount -t tmpfs shmfs -o size=<some_value_in_number_with_size> /dev/shm
--Example:

mount -t tmpfs shmfs -o size=12G /dev/shm

Hope it helped !! 🙂