トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

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

http://www.shift-the-oracle.com/inside/oracle-startup-process.html

Oracle の状態には

  • 停止状態
  • NOMOUNT 状態
  • MOUNT 状態
  • OPEN状態(起動完了)

がある。

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 表 がオープンされることで データ・ディクショナリ を参照することができるようになる。

[カテゴリ: データベース > Oracle]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2012年06月27日 15時43分37秒