JavaScriptが無効になっています。
この状態では一部の情報が表示されず、すべての機能を利用することができません。
SPFILE 運用 Tips
SPFILE の再作成と修復 (マウントできない状態の場合)
サーバー・パラメータ・ファイル (SPFILE) は ALTER SYSTEM SET 〜 コマンド で初期化パラメータを編集する。しかし、ALTER SYSTEM コマンドのデフォルト(scope=both) 実行にはデータベースのマウントが必要。
例えばメモリやプロセス関連の初期化パラメータに誤った設定を行なうとマウントができないことがあり、初期化パラメータを元に戻せないことがある。
以下の手順でサーバー・パラメータ・ファイルを一旦テキスト化して編集する。
-- PFILE 作成 (※ [] 内は省略してもよい )
CREATE PFILE [='initXXX.ora' ] FROM SPFILE [='spfileXXX.ora' ];
-- PFILE 編集
-- ...
-- SPFILE 作成
CREATE SPFILE [='spfileXXX.ora' ] FROM PFILE [='initXXX.ora' ];
により SPFILE(バイナリ) ⇒ CREATE PFILE ⇒ PFILE(テキスト) ⇒ テキストファイル編集 ⇒ CREATE SPFILE ⇒ SPFILE ⇒ インスタンス停止 ⇒ SPFILE 置き換えといった手続きの復旧を行う。
(※ 上書き注意) ファイルを指定しない場合
サーバー・パラメータ・ファイル名には $ORACLE_HOME /dbs/spfile<SID>.ora
初期化パラメータファイル名には $ORACLE_HOME /init<SID>.ora が使用される。
10g R2 であれば現行使用中の SPFILE を上書きできない。(shutdown 後に行なう)
初期化パラメータ・ファイルとの併用(起動時に使用する SPFILE を指定する)
サーバー・パラメータファイルの位置を指定することでデータベースの起動時に使用する初期化パラメータを SPFILE(共用設定) と PFILE(サーバー個別のテスト設定) に分割して管理することが可能。
テスト環境で複数のインスタンスの場合には PFILE ファイルの運用が便利な場合(※)もある。
(※) SPFILE を手軽に変更できない状況でサーバー固有のパラメータを使用せずにインスタンス個別で初期化パラメータの値を変更してテストが可能。
STARTUP PFILE=initXXX.ora で 起動
pfile 内で
-- initXXX.ora
SPFILE=/共有ディスク/・・・/test_spfile.ora
-- ↓↓↓↓ ここの記述で ↑↑↑ の SPFILE のパラメータを上書きすることができる。
param_name1=overwrite_value
param_name2=overwrite_value
param_name3=overwrite_value
どれが正しい? spfileDBNAME .ora ? spfile$ORACLE_SID .ora ? spfileSID .ora ?
マニュアル中に サーバー・パラメータ・ファイル= spfileDBNAME .ora という記述がされている所が数ヵ所ある。
しかし、ORACLE_SID を変更する方法 の結果(Linux)から、ファイル名は spfile$ORACLE_SID .ora が正しいのではないかと思い、マニュアルでの記載を探してみると、
その記述を管理者マニュアルで見つけた。
プラットフォームによって変化し、spfileDBNAME か、spfileSID になると記載されている。
管理者マニュアル上のサーバー・パラメータ・ファイルの作成での説明では
UNIX Windows Linux spfileDBNAME .ora spfileSID .ora spfile$ORACLE_SID .ora = spfileSID .ora (記載みつからず)
とある。
Linux が Unix と異なり Windows と同じ設定なのは少々違和感がある。…個別マニュアルでの記載を探したが見つけることはできなかった。
(もしかするとマニュアルでも、混同して書かれているのかもしれない。調査してもあまり価値もなさそうなので、塩漬けにしておく事にした。