Oracle PFILE/SPFILEの優先順序
よく忘れてしまうので、Oracleのインスタンスパラメータを設定するPFILE(初期化パラメータファイル)、SPFILE(サーバパラメータファイル)の読み込み順序に関するメモ。
初期化パラメータファイルの格納場所は以下の通り。
パラメータファイルの優先順位は以下の通り。複数の初期化パラメータファイルがある場合、設定ファイルが適用される優先順位は以下のようになる。
起動時に指定したpfile:startup pfile='[ファイル]'
- (1) spfileSID.ora
- (2) spfile.ora
- (3) initSID.ora
- (4) init.ora
Oracle DBサーバをHAクラスタ構成で組む場合、一般的にはPFILEをデフォルト位置におき、PFILEの中では共有ディスク(またはミラーディスク上)に置いたSPFILEの位置を指定するパラメータのみを記述する方法が取られる。これは、システム稼動中に加えられた動的なパラメータ変更が、フェイルオーバ後も待機系側に引き継がれるようにするためである。
ただし、クラスタウェアによってはクラスタリソース定義時にPFILEを明示設定するようになっており、デフォルト位置以外にPFILEが存在していても、インスタンス起動時に startup pfile='[ファイル]' として使用することができるようになっている。