【構文】
alter database <起動モード>;
結論から言うとalter databaseで変更できるパターンは「nomountからmount」と、「mountからopen」の2パターンのみで、他は変更できない(または変更してはいけない)です。
・alter databaseではcloseの状態から起動モードを変更することが出来ない。
・基本的に下から上へ1つずつ(nomount → mount / mount → open)の変更は可能だが、上から下(open → mount / mount → nomount)への変更は出来ない。(もしmountからnomountにしたい場合はいったん「shutdown」でcloseにしてから「startup nomount」を実行する)
※「alter database close;」の罠
9の「open → close」だけ上から下への変更は一応実行可能だがこれが罠で、実行するとv$databaseのopen_modeは"mount"となる。(RACやRestart構成の場合)crsctl stat res -tのstateを確認すると"INTERMEDIATE"となっており、中途半端に起動している状態となってしまっていることが分かる。こうなるとalter databaseでnomount/mount/openに変更できなくなる。
こうなった場合の対策としては、インスタンスを「shutdown」で一旦停止し、「startup」で起動する。
※これを知っていればなんて事はないが、知らないで実行すると結構パニックになる(なった)。
もしnomount/mountの状態からインスタンスを停止(close)したい場合は「shutdown」を実行する。「alter database close;」は使用してはいけない。