#amazon(4797349808)
 

oracle_architecture.png

プロセス

ユーザ プロセス

サーバ プロセス

リスナー

PGA [Global Area]

インスタンス

SGA [System Global Area]

データベース バッファ キャッシュ

REDO ログ バッファ

共有プール

  1. ライブラリ キャッシュ
    • 解析済み SQL 情報、コンパイル済み PL/SQL コードのキャッシュ
    • 二度目以降の解析、コンパイルを省略し、処理速度を向上させる
  2. ディクショナリ キャッシュ
    • SYSTEM 表領域内のデータ ディクショナリのキャッシュ
    • 二度目以降のディスクアクセスを減らし、速度を向上させる
  3. 結果キャッシュ (11g~)
    • SQL の問い合わせ結果、PL/SQL のファンクション結果のキャッシュ

ラージ プール

Java プール

Streams プール

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

DBWn [Database Writer]

LGWR [Log Writer]

ARCn [Archiver]

SMON [System Monitor]

PMON [Process Monitor]

CKPT [Check Point]

データベースの物理構造

表領域 [Tablespace]

永続表領域 [Permanent Tablespace]

UNDO 表領域 [Undo Tablespace]

一時表領域 [Temporary Tablespace]

データファイル

データ ファイル

UNDO データ ファイル

一時データ ファイル

REDO ログ ファイル

制御ファイル

その他のファイル

サーバ パラメータ ファイル

パスワード ファイル

アラート ログ ファイル

トレース ログ ファイル

データベースの論理構造

ユーザ

スキーマ

スキーマ オブジェクト

非スキーマ オブジェクト

その他

実行プロセス

  1. SQL の検証
    • SQL を実行する前に、その SQL 文が実行可能なものか検証を行う (ハード パース)
    • 文法の誤り、オブジェクト名の誤りなどは、このプロセスでエラーとなる
    • 共有プールに既に実行計画がある場合はスキップされ、SQL が実行される (ソフト パース)
  2. 実行計画の作成
    • どの様な順序で SQL 文を実行するのか決定する
    • CBO [Cost Based Optimizer] がオプティマイザ統計を元にコストを計算、最適な実行方法を決定する
    • 作成された実行計画は共有プールに保存される
  3. SQL の実行
    • 処理対象のブロックが、データ ファイルからデータベース バッファ キャッシュに読み込まれる
    • INSERT, UPDATE, DELETE の場合、実際にデータの更新が行われる
    • SELECT の場合、対象行にマーキングする
  4. 行の取得 (SELECT のみ)
    • マーキングされた行を読み込む
    • 必要に応じてソートする

オプティマイザ統計 [Optimizer Statistics]

実行計画 [Execution Plan]


結合方法説明
NESTED LOOPSネステッド ループ結合各行を総当りでチェックし結合する
HASH JOINハッシュ結合ハッシュ値を利用して結合する
MERGE JOINソート・マージ結合行をソートしてから結合する

実行統計 [Execution Statistics]

トランザクション

原子性 [Atomicity]

一貫性 [Consistency]

隔離性 [Isolation]

持続性 [Durability]

環境変数

ORACLE_HOME

ORACLE_BASE

ORACLE_SID

 
 

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-07-08 (水) 21:24:21