Ⓐ問い合わせ処理の仕組み DBWn クライアント ユーザー プロセス 共有プール データベース・ バッファ・キャッシュ REDOログ・ バッファ 制御ファイル データ・ファイル REDOログ・ファイル LGWR CKPT ① SQL文 解析情報 実行計画 データ・ディクショナリ ② A ③ A SELECT A FROM 表1; UPDATE 表1 A⇒B; COMMIT; サーバー プロセス
Ⓐ問い合わせ処理の仕組み DBWn クライアント ユーザー プロセス 共有プール データベース・ バッファ・キャッシュ REDOログ・ バッファ 制御ファイル データ・ファイル REDOログ・ファイル LGWR CKPT ① SQL文 解析情報 実行計画 データ・ディクショナリ ② A ③ A ④ SELECT A FROM 表1; UPDATE 表1 A⇒B; COMMIT; サーバー プロセス
Ⓑ更新処理の仕組み(問合せ処理からの継続) DBWn クライアント ユーザー プロセス 共有プール データベース・ バッファ・キャッシュ REDOログ・ バッファ 制御ファイル データ・ファイル REDOログ・ファイル LGWR CKPT SQL文 解析情報 実行計画 データ・ディクショナリ ② A A SELECT A FROM 表1; UPDATE 表1 A⇒B; COMMIT; 変更履歴 A→B 変更前データ A ③ ③ B ① サーバー プロセス
Ⓑ更新処理の仕組み(問合せ処理からの継続) DBWn クライアント ユーザー プロセス 共有プール データベース・ バッファ・キャッシュ REDOログ・ バッファ 制御ファイル データ・ファイル REDOログ・ファイル LGWR CKPT SQL文 解析情報 実行計画 データ・ディクショナリ ② A A SELECT A FROM 表1; UPDATE 表1 A⇒B; COMMIT; 変更履歴 A→B B 変更前データ A ③ ③ ④ 結果(更新しました) ① サーバー プロセス
その他、バックグラウンド・プロセスが非同期で実行 クライアント ユーザー プロセス 共有プール データベース・ バッファ・キャッシュ REDOログ・ バッファ 制御ファイル データ・ファイル REDOログ・ファイル CKPT A B SELECT A FROM 表1; UPDATE 表1 A⇒B; COMMIT; B 変更前データ A LGWR A DBWn ファイル・ヘッダー の更新 サーバー プロセス A→B