トップ 一覧 置換 検索 ヘルプ RSS ログイン

Oracleが起動するまでのプロセスの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://www.shift-the-oracle.com/inside/oracle-startup-process.html

Oracle の状態には
*停止状態
*NOMOUNT 状態
*MOUNT 状態
*OPEN状態(起動完了)
がある。
{{img oracle_startup.png}}

!!!STARTUP NOMOUNT
NOMOUNT のフェーズにおいては、パラメータファイル(pfile/spfile)の読み込み、SGA メモリ領域確保、バックグラウンド・プロセスも開始される。
このフェーズではメモリ関連の初期化パラメータに誤った数値を指定して起動に失敗することが多い。
  SQL> startup nomount
  ORACLEインスタンスが起動しました。
   
  Total System Global Area  234881024 bytes
  Fixed Size                  1248260 bytes
  Variable Size              83887100 bytes
  Database Buffers          142606336 bytes
  Redo Buffers                7139328 bytes
  -- SGA メモリの総量とその内訳が表示される。
  -- Fixed, Variable Size + Database Buffers + Redo Buffers = Total System Global Area
  SQL> select name, value from v$parameter2;
  NAME                           VALUE
  ------------------------------ ------------------------------
  processes                      155
  resource_limit                 TRUE
  ...
   
  SQL> select * from v$database;
                     *
  行1でエラーが発生しました。:
  ORA-01507: データベースがマウントされていません。
   
  SQL>SQL> select * from dba_tables;
                         *
  行1でエラーが発生しました。:
  ORA-01219: データベースがオープンしていません: 固定の表/ビューに対する問合せのみ可能です

!!!STARTUP MOUNT / ALTER DATABASE MOUNT 
MOUNT のフェーズにおいてはコントロールファイルを読み込む(パラメータファイル(pfile/spfile)に記述されている)。コントロールファイルの1つでもダメージを受けている場合には MOUNT 操作は失敗する。
コントロールファイルにはオラクルの物理的な構成(各種ファイル情報)が保存されている最重要ファイルの1つ。
データベースへのリストア/リカバリ処理を行なうこともできるフェーズ。

  SQL> startup mount  --  ← startup は SQL*Plus コマンドなのでセミコロンは無くてもよい
  -- または、nomount 状態の場合は
  SQL> alter database mount; -- ← alter database は SQL なのでセミコロンが必要
   
  データベースが変更されました。
  SQL> select name,status from v$datafile;
  NAME                        STATUS
  --------------------------- --------
  /u03/.. ../system01.dbf     SYSTEM
  /u03/.. ../undotbs01.dbf    ONLINE
  /u03/.. ../sysaux01.dbf     ONLINE
  /u03/.. ../users01.dbf      ONLINE
  /u03/.. ../test01.dbf       ONLINE
  ...
コントロール・ファイルが管理している情報(データベースの構造情報を管理する制御ファイル)
*データベース名
*データベースを作成したときのタイムスタンプ
*対応するデータファイルとREDO ログ・ファイルの名前と位置
*表領域情報
*データファイルのオフライン範囲
*ログ履歴
*アーカイブログ情報
*バックアップ・セットとバックアップ・ピースの情報
*バックアップ・データファイルとREDO ログ情報
*データファイルのコピーの情報
*カレントのログ順序番号
*チェックポイント 情報

!!!STARTUP OPEN / ALTER DATABASE OPEN 
OPEN のフェーズにおいては、コントロールファイルで指定された UNDO ファイル、データファイルがダメージを受けている場合には OPEN 操作は失敗する。
  SQL> startup / startup open -- (オープンがデフォルト)
  -- または、nomount、mount 済みの場合は
  SQL> alter database open;
   
  データベースが変更されました。

一時ファイル表領域の TEMP ファイル(≠datafile) が損失している場合には自動的に同サイズのファイルを再作成し起動する。(アラートログにエラーコードを伴わない通常メッセージが残り、起動コンソールには該当するメッセージ等の表示はなく普通に起動する:Oracle 10g R2)
このフェーズにまでくると SYSTEM 表 がオープンされることで データ・ディクショナリ を参照することができるようになる。

{{category2 データベース,Oracle}}