Oracleデータベースの起動には段階があり、停止時状態からNOMOUNT→MOUNT→OPENと経てデータベースが起動します。
それぞれの段階の役割について確認してみます。
・ NOMOUNT
SHUTDOWN状態からNOMOUNT状態に至ることで、以下の処理が実行されます。
初期化パラメータの読み込み
SGAの割り当て
バックグラウンドプロセスの起動
アラートログ、トレースファイルのオープン
STARTUP NOMOUNTで停止状態からNOMOUNT状態まで遷移します。
またv$instanceを確認することで現在の起動状態がわかります。
nomountの場合は「STARTED」と表示されます。
・MOUNT
NOMOUNT状態からMOUNT状態に遷移することで以下の処理が行なわれます。
制御ファイルのオープン
データファイルとREDOログファイルの情報を取得
また、MOUNT状態に遷移する場合、ALTER DATABASE MOUNT;を実行することで可能です。
またv$instanceは「MOUNTED」と表示されます。
・OPEN
MOUNT状態からOPEN状態に遷移することで以下の処理が行なわれます。
データファイルのオープン
REDOログファイルのオープン
これで「データベースが起動している」と言える状態になり、一般ユーザーがデータベースに接続できるようになります。
また、OPEN状態に遷移する場合、ALTER DATABASE OPEN;を実行することで可能です。
またv$instanceは「OPEN」と表示されます。
それぞれの段階の役割について確認してみます。
・ NOMOUNT
SQL> STARTUP NOMOUNT
ORACLEインスタンスが起動しました。
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 633341944 bytes
Database Buffers 197132288 bytes
Redo Buffers 6590464 bytes
SQL> SELECT status FROM v$instance;
STATUS
------------------------------------
STARTED
SHUTDOWN状態からNOMOUNT状態に至ることで、以下の処理が実行されます。
初期化パラメータの読み込み
SGAの割り当て
バックグラウンドプロセスの起動
アラートログ、トレースファイルのオープン
STARTUP NOMOUNTで停止状態からNOMOUNT状態まで遷移します。
またv$instanceを確認することで現在の起動状態がわかります。
nomountの場合は「STARTED」と表示されます。
・MOUNT
SQL> ALTER DATABASE MOUNT;
データベースが変更されました。
SQL> SELECT status FROM v$instance;
STATUS
------------------------------------
MOUNTED NOMOUNT状態からMOUNT状態に遷移することで以下の処理が行なわれます。
制御ファイルのオープン
データファイルとREDOログファイルの情報を取得
また、MOUNT状態に遷移する場合、ALTER DATABASE MOUNT;を実行することで可能です。
またv$instanceは「MOUNTED」と表示されます。
・OPEN
SQL> ALTER DATABASE OPEN;
データベースが変更されました。
SQL> SELECT status FROM v$instance;
STATUS
------------------------------------
OPEN
MOUNT状態からOPEN状態に遷移することで以下の処理が行なわれます。
データファイルのオープン
REDOログファイルのオープン
これで「データベースが起動している」と言える状態になり、一般ユーザーがデータベースに接続できるようになります。
また、OPEN状態に遷移する場合、ALTER DATABASE OPEN;を実行することで可能です。
またv$instanceは「OPEN」と表示されます。

コメント