ORA-00845: MEMORY_TARGET not supported on this system

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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:

1
df -h /dev/shm

Set:

1
mount -t tmpfs shmfs -o size=<some_value_in_number_with_size> /dev/shm
1
2
3
--Example:
 
mount -t tmpfs shmfs -o size=12G /dev/shm

Hope it helped !! 🙂