2013年12月25日水曜日

インスタンスについて

Oracleデータベースサーバーは、以下のコンポーネントによって、構成される。

 ・Oracleインスタンス
 ・Oracleデータベース
 ・ユーザープロセス
 ・サーバープロセス
 ・PGA

■Oracleインスタンス
OracleインスタンスはSGAとオラクルバックグラウンドプロセスから構成される。

 ◇SGA(システムグローバル領域)
  メモリー上の作業領域。複数のプロセスにより共有される。
  よく使用するデータをSGA上に読み込み、共有化することで各ユーザーによるディスクアクセス  の繰り返しを防ぎ、パフォーマンス悪化を防ぐ。

  SGAは、インスタンスを起動するとOracleによって初期化パラメータファイルに設定されたサイズで確保される。


  SGAは用途別に以下の領域に分かれる。

  ①データベースバッファキャッシュ
   データベースから取り出されたデータブロックを保管するためのメモリ領域。
   同じデータを何回も繰り返し読み込まないようにするための「キャッシュ」の役割と、
   データベースにまとめて書き込むための「バッファ」の役割をもつ。

   ※データブロックとはOracleでのデータの読み書きを行う固定サイズのデータ

  ②REDOログバッファ
   データベースに加えられた変更履歴情報が書き込まれる。
   ***いつまでログバッファにキャッシュされるのか?***

  ③共有プール
   データブロック以外の共有可能なデータを一時的に保管するためのメモリ領域。
   共有プールは以下の3つの領域で構成される。
    ・ライブラリキャッシュ
     解析済みのSQL情報とコンパイル済みのPL/SQLコード

    ・ディクショナリキャッシュ
     データディクショナリから参照されたデータ

    ・結果キャッシュ  
     問い合わせの結果とPL/SQLファンクションの結果

  ④ラージプール
   大きなサイズのデータをプロセス間でやり取りするために利用するメモリ領域
  
  ⑤Javaプール
   Javaストアド・プロシージャを実行するためのJava VMに使用されるメモリ領域

  ⑥Streamsプール
   Oracle Streamsと呼ばれるメッセージング機能を実現するために、メッセージデータを格納する際に使用されるメモリ領域。

  REDOログバッファ領域を除き、各領域は動的にサイズを変更することがてきる。
  ※REDOログバッファサイズは初期化パラメータファイルのLOG_BUFFERパラメータにて設定。


 ◇SGA情報の確認
  SQL*Plusの「SHOW SGA」コマンドでSGA情報を確認することが可能。
  以下、コマンドの表示項目説明。

   ・Total System Global Area:SGAの全体サイズ
   ・Fixed Size:SGAの管理情報が格納される固定領域のサイズ
   ・Variable Size:共有プール、ラージプール、Javaプール、Streamsプールの合計サイズ
   ・Database Buffers:データベースバッファキャッシュのサイズ
   ・Redo Buffers:REDOログバッファのサイズ


 ◇バックグラウンドプロセス
  バックグラウンドプロセスは、インスタンスを起動すると自動的に起動する一組のプロセス群。
  オラクルシステムの裏で全体管理を行っている。

  ①SMON(システムモニター)
   
  ②PMON(プロセスモニター)

  ③DBWn(データベースライター)

  ④CKPT(チェックポイント)

  ⑤LGWR(ログライター)

  ⑥ARCn(アーカイバ)

  ⑦MMON(管理モニター)

0 件のコメント:

コメントを投稿