Tuesday, April 10, 2018

ORA-00851: SGA_MAX_SIZE 15032385536 cannot be set to more than MEMORY_TARGET 1073741824.

Trying to start one of the RAC nodes and getting the error message that MEMORY_TARGET is smaller than SGA_MAX_SIZE

in my case I had disabled the AMM and i should not be using memory_target parameter. To get it fixed what I did was.

Error message:

[oracle@rac01 (dev1tesp1) dbs]$ srvctl start database -d dev1tesp -i dev1tesp1
PRKO-2002 : Invalid command line option: -i
[oracle@rac01 (dev1tesp1) dbs]$ srvctl start instance -d dev1tesp -i dev1tesp1
PRCR-1013 : Failed to start resource ora.dev1tesp.db
PRCR-1064 : Failed to start resource ora.dev1tesp.db on node rac01
CRS-5017: The resource action "ora.dev1tesp.db start" encountered the following error:
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 15032385536 cannot be set to more than MEMORY_TARGET 1073741824.
. For details refer to "(:CLSN00107:)" in "/u01/app/grid/diag/crs/rac01/crs/trace/crsd_oraagent_oracle.trc".

CRS-2674: Start of 'ora.dev1tesp.db' on 'rac01' failed
[oracle@rac01 (dev1tesp1) dbs]$


Created the pfile from spfile 

SQL> create pfile='/u01/app/oracle/product/12.1.0.2/dbs/initdev1tesp1_change.ora' from spfile='+DATA/dev1tesp/spfiledev1tesp.ora';

File created.

SQL>


Then remove the parameter 
*.memory_target=1073741824


Try to startup database with pfile as there is no memory_target values set in that pfile

SQL> startup pfile='/u01/app/oracle/product/12.1.0.2/dbs/initdev1tesp1_change.ora';
ORA-32006: REMOTE_OS_AUTHENT initialization parameter has been deprecated
ORA-32006: SEC_CASE_SENSITIVE_LOGON initialization parameter has been deprecated
ORACLE instance started.

Total System Global Area 1.5032E+10 bytes
Fixed Size                  7660464 bytes
Variable Size            6006246480 bytes
Database Buffers         8992587776 bytes
Redo Buffers               25890816 bytes
Database mounted.
Database opened.
SQL>

re-create spfile

SQL> create spfile='+DATA/dev1tesp/spfiledev1tesp.ora' from pfile='/u01/app/oracle/product/12.1.0.2/dbs/initdev1tesp1_change.ora';

File created.

SQL>


Checks status of database 

[oracle@rac01 (dev1tesp1) dbs]$ srvctl status database -d dev1tesp
Instance dev1tesp1 is running on node rac01
Instance dev1tesp2 is running on node racdev01n02
[oracle@rac01 (dev1tesp1) dbs]$

[oracle@rac01 (dev1tesp1) dbs]$ srvctl status service -d dev1tesp
Service dev1tes_ha is running on instance(s) dev1tesp1,dev1tesp2
[oracle@rac01 (dev1tesp1) dbs]$


Stop the instance and restart it 

[oracle@rac01 (dev1tesp1) dbs]$ srvctl stop service -d dev1tesp -s dev1tes_ha -i dev1tesp1
[oracle@rac01 (dev1tesp1) dbs]$ srvctl status service -d dev1tesp
Service dev1tes_ha is running on instance(s) dev1tesp2
[oracle@rac01 (dev1tesp1) dbs]$


[oracle@rac01 (dev1tesp1) dbs]$ srvctl stop instance -d dev1tesp -i dev1tesp1
[oracle@rac01 (dev1tesp1) dbs]$
[oracle@rac01 (dev1tesp1) dbs]$
[oracle@rac01 (dev1tesp1) dbs]$ srvctl start instance -d dev1tesp -i dev1tesp1
[oracle@rac01 (dev1tesp1) dbs]$ srvctl status database -d dev1tesp
Instance dev1tesp1 is running on node rac01
Instance dev1tesp2 is running on node racdev01n02
[oracle@rac01 (dev1tesp1) dbs]$ srvctl status service -d dev1tesp
Service dev1tes_ha is running on instance(s) dev1tesp1,dev1tesp2
[oracle@rac01 (dev1tesp1) dbs]$






No comments: