Windows終了時のOracleインスタンス停止

id:Tensor:20080305関連


ちょうど昨年あたりに、Windows終了のときにシャットダウンスクリプトを用いてOracle Databaseのインスタンス停止を行うということをやった(後輩に教えた)のですが、その後、同じことをする機能がOracle自体にあったので、覚書程度に書いておきます。(だいぶ前に知ったんだけど、今頃になって思い出した。)
[コンフィグレーションおよび移行ツール]→[Administration Assistant for Windows]で「Administration Assistant for Windows」を起動します。右側ペインのツリーをどんどん下に辿って行って、「データベース」の下に作成されているデータベースで右クリック。「起動/停止オプション」を選ぶと、「起動/停止構成」画面が表示されます。





デフォルトのままだと、「サービス起動時にインスタンスを起動」にはチェックが入っているのですが、「サービス停止時にインスタンスを停止」にはチェックが入っていません。何もしないでいると「WindowsをシャットダウンするときにOracleのサービスが停止はするけれど、インスタンスをシャットダウンしたわけではない」ということになります。非常に怖いですね。
なので、「サービス停止時にインスタンスを停止」にチェックを入れます。チェックを入れると、下の停止モードが選べるようになるので、どれか選びましょう。と言っても、「通常停止」だと、もし誰かがデータベースにアクセスしていたりするといつまで経っても停止できないので、「即時停止(Shutdown immediate)」が良いと思います。「強制停止(Shutdown Abort)」はどうなんだろう・・・。
この設定をやっておくことで、Windowsが終了しようとしてOracleのサービスを停止するときに、一緒にインスタンスも停止してくれるようになります。シャットダウンスクリプトより正しいやり方だと思います。たぶん。