~データベースの起動~
みなさん、こんにちは。
どうも、さいばーきゃっとです。
今回は、データベースの起動について、解説していきます。
一言で「データベースを起動する」というと、パソコンを起動させる時のように物理的なスイッチを使用して、起動させることを思い浮かべる方は多いと思います。(実は僕もその一人でした。)
実は、データベースを起動するには、SYSDBA権限またはSYSIPER権限を持ったユーザでOracleデータベースに接続する必要があります。
さらに、「データベースを起動する」までには4つ段階があり、簡単に説明すると「インスタンスを起動して、データベースをオープンする」一連があります。
データベースの起動の仕組み
データベースを起動すると、データベース内部では以下の段階を経てデータベースが使用な可能状態になります。
SHUTDOWN→NOMOUNT(インスタンスの起動)
この段階では、内部的に以下の処理が実行されます。
- 初期化パラメータファイルの読み込み
- SGAの割り当て
- バックグラウンドプロセスの起動
- アラートログファイル、トレースファイルのオープン
NOMOUNT→MOUNT(データベースのマウント)
この段階では、内部的に以下の処理が実行されます。
- 制御ファイルのオープン
- 制御ファイルに記載されている、データファイルとREDOログファイルの名前とステータス情報の取得
MOUNT→OPEN(データベースのオープン)
この段階では、内部的に以下の処理が実行されます。
- データファイルのオープン
- REDOログファイルのオープン
なお、データベースが「OPEN」状態になると、SYSDBA、SYSOPERなどの管理権限をもたない、一般ユーザーもデータベースにアクセスできるようになります。