control_filesパラメータ 制御ファイルの変更
稼動系、待機系で運用する二つのOracle DBサーバに一つストレージをくっつけた
構成のシステムに対し、稼動系、待機系の切り替え試験を行いました。
正常に待機系に処理を引き継がせることができたのですがそのDBを用いているWeb
アプリケーションがDBに接続できていない状況となりました。
そのDBにsystemユーザでsqlplus接続して表領域を見てみると期待した結果が
返ってきませんでした。
怪しいので、以下のsqlを発行しspfileの格納場所を確認。
もし何も出なければ初期ファイルはバイナリファイルであるspfileではなくテキストファイルの
pfileが有効となっています。
SQL >select value from v$system_parameter where name = 'spfile';
結果を得たのでspfileが有効となっていることを確認。
以下のsqlを発行し制御ファイルの格納場所を確認する。
SQL > select name from v$controlfile;
稼動系、待機系で得られた結果を比べると異なることを確認。
以下のsqlを発行して制御ファイルの格納場所を変更する。
SQL > alter system set control_files= '/path/to/control01.ctl','/path/to/control02.ctl'
scope=spfile;
#scopeにspfileを指定してspfileのみを変更した。メモリのみならmemory、両方ならbothを指定。
これで期待するDBをopenすることに成功した。
なんで違う制御ファイルを参照していたかは不明。。