うっかりメモリ搭載量より多くのサイズをSGAに指定してしまったりするとOracleが起動しなくなってしまうことがあります。
そんなときの対処方法です。
SPFILEを基に任意の場所にPFILEを作成する
SQL*Plusを起動してcreate pfileします。
sqlplus / as sysdba
create pfile='/home/oracle/temp_init.ora' from spfile='+DATA/ORCL/spfileorcl.ora';
パラメータの値を手動で修正
viなどで前項で作成したpfileのパラメータを元に戻します。
修正を行ったPFILEを基にSPFILEを作成
修正したPFILEでインスタンスが起動するか確認して、問題なく起動するようでしたらSPFILEを作成します。
sqlplus / as sysdba
startup pfile='/home/oracle/temp_init.ora'
create spfile='+DATA/ORCL/spfileorcl.ora' from pfile='/home/oracle/temp_init.ora';
shutdown immediate
startup
Oracleの起動...
srvctl stop database -d orcl
srvctl start database -d orcl