73 Tech log

73 Tech log

20代ITエンジニアによる技術学習兼交流モクブログ

Amebaでブログを始めよう!

 

  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を保持している。互いに共有されることはない。