geek.conf.2

あるエンジニアの備忘録

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することに成功した。

なんで違う制御ファイルを参照していたかは不明。。