During the PreUpgrade step of DBUA (Database Upgrade Assistant) upgrading Oracle 11g to 12c it shows the error:
Error: ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
While Oracle 12c is validating the parameters it got a conflict in memory settings.
Oracle 12c (Upgrading from Oracle 11g)
Using the 11g instance, the configuration must be fixed:
From the Linux terminal or Windows command prompt, enter the SQLPLUS tool:
sqlplus /nolog
Log as sys user:
conn sys/password as sysdba;
Run the follow command and compare the value of MEMORY_TARGET and MEMORY_MAX_TARGET:
show parameter memory;
Then, change the MEMORY_MAX_TARGET to a value greater than the MEMORY_TARGET: (M is for values in Megabytes and G in Gigabytes)
alter system set memory_max_target = nM scope=spfile;
After get the message System Altered, restart the DBUA tool to complete the upgrade.
It's possible to have a message that the instance is idle:
Connected to an idle instance.
Then, you need to use another approach to fix the issue.
After logged in as sys user, run the following commands on SQLPLUS:
create pfile from spfile;
The file is created in the following folder:
Windows: %ORACLE_HOME%\database\init.ora
Linux: &ORACLE_HOME/database/init.ora
(check the timestamp of the newer file).
Edit the file and find the MEMORY_TARGET and MEMORY_MAX_TARGET parameters and fix the values.
Save the file. Back to the SQLPLUS, run the command (using a Windows installation as an example):
create spfile from pfile=C:\oracle\product\11.2.0.4\db_1\dabase\init.ora;
shutdown;
startup;
After the startup, connect as sys user and check if the parameters are correct:
show parameter memory;
If it's ok, restart the DBUA tool and coplete the upgrade.
Oracle Knowledge base Reference:
https://docs.oracle.com/cd/B28359_01/server.111/b28310/memory003.htm#ADMIN11011