<サーバプロセスとは>
サーバプロセスとはSQLを受け取り処理をするプロセスのこと。
ユーザからの接続要求によって起動し、ログアウトすると終了する
<SELETCT文を発行したら>
- ユーザプロセスがSQL文をサーバプロセスに渡す
- サーバプロセスは共有プールの情報を使用してSQL文を解析する
- サーバプロセスは要求されたデータがデータベースバッファキャッシュにあるか調べる
- データがなければデータファイルからデータベースバッファキャッシュに読み込む
- サーバプロセスはユーザプロセスにデータを返す
<UPDATEを実行したら(1〜4まではSELECT同様)>
- 変更前と変更後の値をREDOログバッファに書き込む
- データベースバッファキャッシュ上にUNDOデータが生成される
- UPDATE対象となるデータブロックがデータベースバッファキャッシュ上で変更される
- コミットするとLGWRプロセスがREDOログバッファの値をREDOログファイルに書き込む
- 変更内容はDBWnプロセスによってデータベースバッファキャッシュからデータファイルに書き出される