#初期化パラメータファイルとは
Oracleの制御ファイルにはSPFILEとPFILEの二種類がある。
それぞれの特徴を記す。
SPFILE | PFILE | |
---|---|---|
保存方式 | バイナリ形式 | テキスト形式 |
編集方法 | ALTER文 | エディタ編集 |
起動中インスタンスへの変更 | 反映可能 | 反映不可 |
現在SPFILEが主流で、PFILEを優先して使うことはあまりないらしい。
しかし、SPFILEに誤った値を設定してDBが立ち上がらなくなった時などには、
PFILEをエディタで編集して正しい値を設定した後、PFILEを指定して起動するなんてこともできる。
#SPFILEのバックアップコマンド
SYSDBAまたはSYSOPER権限で実行。
CREATE PFILE = 'HOGE_init.ora' FROM SPFILE;
上記コマンドでSPFILEからPFILEへ変換される。'HOGE_init.ora'の部分はフルパスで保存先を指定できる。
#PFILEからの復元
最初にSPFILEの保存先(復元先)のパスを確認する。
show parameter spfile
取得したPFILEのバックアップをSPFILEに復元するコマンド。
CREATE SPFILE = '$ORACLE_HOME/dbs/spflileoHOGE.ora' FROM PFILE = 'HOGE_init.ora'
'$ORACLE_HOME/dbs/spflileoHOGE.ora'の部分はshow parameter spfileで確認したパスを指定。
##SPFILEとPFILEの使い分け
先程も書きましたが、普段の運用ではSPFILEを使用し設定値変更もALTER文で行う。
DBが立ち上がらないなど障害発生時にはPFILEをエディタで編集してSPFILE変換して起動する。
またはPFILEを指定して起動する。
初期化パラメータファイルが原因の障害の場合はこうした使い方が可能となる。
そのためDBAは普段からのバックアップを行い障害時に備えておくべきである。