oracle構築の途中で。

psrを当てた途端にDBが起動できなくなる。
shared_poolとか、java_pool_sizeとかの割当量が少なくなってしまったようだ。
最悪だ。泣きそうになる。
もともとの設定をspfileに入れてあったため、設定を変えるためにはDBに接続をしなくてはならない。
spfileはバイナリのファイルで、直接エディタで編集はできない。変更するにはsqlplusで


alter system set [parameter]=value scope=spfile
と言う感じで打たないと。
いや、それを打つためにはDBを起動しないと。
しかし、DBの起動ができない。

connect / as sysdba
startup → 失敗
startup mount → 失敗
startup nomount → 失敗(!)
この瞬間に、初期化ファイルの設定異常を疑い、呆然とする。
あと、残されたのは

startup pfile="init[SID].oraのフルパス"
と言う感じで起動時の初期化ファイルを自分で指定する方式。。
しかし、手元にあるのはデフォルトのinit.ora。。。


考え付く限りの毒を吐きながら、init(SID).oraをエディタで編集する。
今度からは、一度構築した後に、spfile(バイナリ)→init.ora(テキスト)の変換をしておこう。
と、固く心に誓った。が、忘れるかもしれないのでここでメモ

create pfile='[ファイル名]' from spfile
なんとか、動くようにはなったものの、インスタンスごと捨てても良かったかな、と、後で思ったりして。
あと、今にして思えば、sysdbaでアイドルインスタンスに接続している状態で、alter systemが入力できたのでは?
という気がする。確かめればよかったのだが、そこまで頭が回らなかったなぁ。