OracleDatabase
インスタンスの起動と停止
インスタンスの起動
| SHUTDOWN | DBがクローズ インスタンスは停止 |
なし |
| NOMOUNT | インスタンスが起動している状態 SGA(システムグローバル領域)が割り当てられ、 バックグランドプロセス起動 |
初期化パラメータファイル |
| MOUNT | 制御ファイル読み書き可能 | 制御ファイル |
| OPEN | DBがオープンしている状態 REDOログファイル、データファイル読み書き可能 |
REDOログファイル データファイル |
SGA
SGAは、インスタンス起動時に割り当てられる、メモリー領域
SystemGrobalArea(システムグローバル領域)の略称
その用途に応じいくつかコンポーネントが存在する
- JAVAプール Java言語で記述されたストアドプログラムの実行時使用
- ラージプール 並列処理、バックアップの作業領域
- 共有プール 解析済みSQL、データディクショナリの情報をキャッシュ
- データベースバッファキャッシュ データファイルから読み込んだブロックのキャッシュをする
- REDOログバッファ 書き込み前のREDOデータ(更新履歴)を一時保存する
データベースバッファキャッシュ
この領域でブロックの読出し/書き込みが行える
通常、ブロックとして記録されている表や索引のデータを参照するためには、データファイルからブロックを読み出さなければならない
キャッシュの役割 → ブロックをメモリー上に一時保存。同じブロックを読み出すとき、読出し処理をしないで済み、データファイルからの読出し回数を1回に減らすことができる。
バッファの役割 → データファイルへのブロックの書込みを、遅延実行する。更新処理時、一旦、データベースバッファキャッシュ内のブロックのみが更新され、データファイル側は更新を行わず、高速な処理を可能にする役目を持つ。DBWn(データベースライダー)により、更新されたブロックは後でデータベースファイルに書き込まれる(遅延書込み)。
REDOログバッファ
この領域でREDOデータ(更新履歴)の保存が行える
Oracleでは、前述の遅延書込みで更新処理が失われる可能性があり、トランザクションのコミット時、REDOデータ(更新履歴)を作成し、REDOファイルに書き込んでいる。その書込み前のREDOデータ(更新履歴)を一時保存するメモリー領域である。REDOログバッファに置かれたデータは、LGWR(ログライダー)プロセスの実行で、REDOファイルに書き込まれる。
共有プールこの領域で様々な情報をキャッシュできる
解析済みSQL → こ共有プールに解析済SQLを保存することで、同じSQLが実行された際、時短およびサーバ負荷の軽減につながる。
データディクショナリの情報 → データディクショナリ(データベース内部情報)を保存することで、繰り返しOracleがアクセスする際の性能を向上させられる。
バックグラウンドプロセス
バックグランドプロセスは、
前述したSGAと併せインスタンス起動時いくつか起動されるプロセスの総称。
OracleDBの裏方処理全般を担う。
- DBWn(データベースライダー)
- LGWR(ログライダー)
- CKPT
- SMON(システムモニター)
- PMON(プロセスモニター)
- MMON(管理モニター)
- ARCn(アーカイバ)
PGA
PGAは、プログラムグローバル領域のこと。
Oracleではサーバプロセス等多くのプロセスが起動しているが、
各プロセスでPGAを保持している。互いに共有されることはない。
