I moved a VMware’s VM to an new machine, and the new machine have limited physical memory , So I decreased the VM memory.
and then I found that at VM , ORACLE failed to start automatically.
and when I start it manually, I found below ORA-27104 error:
So to fix this, first find the oracle alert log, here is my location.
/opt/oracle/diag/rdbms/orclcdb/ORCLCDB/alert/log.xml
It shows that SGA is big than VM’s memory. So this is the reason why Oracle can not start.
So login as oracle, create pfile.
sqlplus / as sysdba
create pfile='/opt/oracle/product/19c/dbhome_1/dbs/init20240903.ora' from spfile;
then modify /opt/oracle/product/19c/dbhome_1/dbs/init20240903.ora , make sure all memory is not higher than VM memory 7656MB.
and start oracle using modified pfile.
startup pfile='/opt/oracle/product/19c/dbhome_1/dbs/init20240903.ora';
and from pfile create spfile again.
create spfile from pfile='/opt/oracle/product/19c/dbhome_1/dbs/init20240903.ora';
shutdown immediate;
Then use spfile , oracle can be normally started.
sqlplus / as sysdba
startup;