Knowledge Base

Setting of memory_target is too low, you will need to choose a larger value

ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least %sM

The specified value of MEMORY_TARGET was less than the sum of the specified values for SGA_TARGET and PGA_AGGREGATE_TARGET.
Set MEMORY_TARGET to at least the recommended value.

Though the initialization parameter is modifiable, the modified value is not acceptable to the parameter.

For example, we try to change the value for memory_target, but provide a real low value:

SQL> alter system set memory_target=1;
alter system set memory_target=1
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 132M

You will need to correct the statement. The error message indicates the minimum requirement for the parameter:

SQL> alter system set memory_target=132M;

System altered.

If you check the values for pga_aggregate_target and sga_target and they are set to 0

SQL> show parameter sga_target

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_target                           big integer 0
SQL> show parameter pga_aggregate_target

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 0

you can use following query to determine a minumum size:

SQL> select min_size/1024/1024 from v$memory_dynamic_components where component in ('PGA Target', 'SGA Target');

MIN_SIZE/1024/1024
------------------
               148
                12
Oracle Gold Partner DbMotive is an Oracle Gold Partner