LoginSignup
0
0

More than 1 year has passed since last update.

Oracle アーキテクチャ

Last updated at Posted at 2022-02-14

SGA(システムグローバル領域)

インスタンス起動時に割り当てられるメモリー領域。
プロセス間で共有されるデータが保管される。

SGA内にあるコンポーネント

  • データベースバッファキャッシュ
    • データファイルから読み込んだブロックをキャッシュする
    • 変更されたブロックをデータファイルに書き出す前に一時的に保管する(バッファ機能)
  • REDOログバッファ
    • REDOログファイルに書き込む前のREDOデータ(変更履歴)を一時的に保管する
  • 共有プール
    • 解析済みのSQLやデータディクショナリの情報などをキャッシュする
  • Javaプール
    • Java言語で記述されたストアドプログラムの実行に使用される
  • ラージプール
    • バックアップや並列処理などの作業領域として使用される

プロセス

バックグラウンドプロセス

Oracleの主なバックグラウンドプロセス

  • データベースライター(DBWn)
    • データベースバッファキャッシュ内の変更済みのブロックをデータファイルに書き込む
  • ログライター(LGWR)
    • REDOログバッファのREDOデータ(変更履歴情報)をREDOログファイルに書き出す
  • チェックポイント(CKPT)
    • データベースライター(DBWn)に対して、データベースバッファキャッシュ内の変更済のブロックをデータファイルに書き込む指示を出す
    • 制御ファイルにチェックポイントの情報を書き込む
  • システムモニター(SMON)
    • インスタンスが異常終了した場合、次回インスタンス起動時にデータベースファイルの整合性を復旧する処理を実行する
    • 未使用の一時セグメントを解放する
  • プロセスモニター(PMON)
    • プロセスが異常終了した場合、そのプロセスが使用していた様々なデータやリソース後処理(クリーンアップ)を実行する
    • アイドル時間を超えたセッションを検知し、強制終了などの対処を指示する
  • 管理モニター(MMON)
    • AWRスナップショットなど、性能分析で使用される様々な統計情報を定期収集する
  • アーカイバ(ARCn)
    • ログスイッチの発生後、REDOログファイルのREDOデータをアーカイブログとしてコピーする
  • リスナー登録プロセス(LREG)
    • インスタンスに関する情報をリスナーに登録する

PGA(プログラムグローバル領域)

  • 特定のOracleプロセス専用のメモリー領域
  • そのプロセス専用であるため、プロセス間で共有されることはない

    ※SGA内のデータはすべてのOracleプロセスで共有される

サーバープロセス

  • データファイルからデータブロックを読み込み、バッファキャッシュに配置する
  • データベースバッファキャッシュに配置されたデータブロックの変更

RAC構成(Real Application Clusters)

  • 通常、1つのデータベースに対して、2つ以上のインスタンスを割り当てる
  • 複数のインスタンスを起動する事により、可用性を高める。(クラスター構成)

セッション

  • ユーザがインスタンスにログインしている状態
  • ユーザプロセスとサーバプロセスの間に確立

記憶域構造

オブジェクト 1対0or1 セグメント
表領域 1対複数 データファイル 
表領域 対複数 セグメント(テーブルやインデックス)
セグメント 対複数 エクステント 対複数 データブロック(2KB〜32KBの固定サイズ)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0