Had recent issue where I updated a spfile for a RAC database on ASM, then could not start db as memory setting sere to low, the ASM file used a system generated extension for name:
Steps to recreate:
- Before making any changes backup old file to a temp location (even without backup can get settings from alert log), I could have restored spfile as well using rman:
- create pfile=</tmp/<DB>_ora.bak from spfile;
Now we are at stage where can’t start db due to bad settings so:
2. startup nomount pfile=</tmp/<DB>_ora.bak
3. create spfile='<ASM DG> from pfile=</tmp/<DB>_ora.bak
4. restart db using sqlplus outside of srvctl:
- sqlplus / as sysdba
- show parameter spfile
- note the spfile location
4. update Clusterware if that is used with new spfile location
- srvctl config database -d <db_name>
- srvctl modify database -d <dbname> -p ‘<location to spfile>’
- srvctl config database -d <db_name>
- May need to update init<db>.ora file in ORACLE_HOME/dbs that needs updating to this as well on all nodes of cluster to point to new SPFILE.