インスタンスとデータベース(プロセス構造)難易度 標準無料
クライアントアプリケーションが Oracle Database に接続し、SELECT 文を発行して結果を受け取るまでの流れに関わるプロセスの説明として、最も適切なものを選べ(専用サーバー〔dedicated server〕構成を前提とする)。(単一選択)
- Aクライアント接続時に起動される専用のサーバープロセスが、SQL 文の解析・実行、必要なデータブロックのバッファキャッシュへの読み込みを行い、結果をクライアントへ返す。このサーバープロセスは専用の PGA を持つ
- BSQL 文の解析・実行は DBWn が行い、その結果を LGWR がクライアントへ送信する
- Cすべてのクライアントの SQL 実行は共通の1つのバックグラウンドプロセス(CKPT)が順番に処理する
- Dサーバープロセスは存在せず、SGA が直接クライアントとソケット通信して結果を返す
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済
解説
専用サーバー(dedicated server)構成では、クライアントが接続するとそのクライアント専用のサーバープロセスが1つ起動される。
- サーバープロセス(server process)は、クライアントが発行した SQL 文の解析・実行・データの取得を行い、必要であればデータベースバッファキャッシュにデータブロックを読み込み、結果をクライアントへ返す。サーバープロセスは自分専用の PGA を持つ。
- これに対し、バックグラウンドプロセス(DBWn, LGWR, CKPT, SMON, PMON 等)は、インスタンス全体の維持・保守を行うインスタンス起動時に立ち上がる別種のプロセス群であり、個々のクライアントの SQL 実行そのもの(解析・実行)は行わない。
つまり「クライアントの SQL を直接処理するのはサーバープロセス」「インスタンス全体の維持(書き出し・リカバリ等)を行うのがバックグラウンドプロセス」という役割の分離が Oracle プロセスアーキテクチャの基本である。
- BDBWn はダーティバッファのディスク書き出し、LGWR は REDOログの書き込みを担うプロセスであり、いずれも SQL 文の解析・実行やクライアントへの結果送信は行わない。
- CCKPT はチェックポイント情報の記録を担うプロセスであり、クライアントの SQL 実行とは無関係。専用サーバー構成ではクライアントごとにサーバープロセスが個別に処理する。
- DSGA はメモリ構造であり、それ自体がクライアントと通信することはない。通信・SQL処理を担うのはサーバープロセス(OSプロセス)である。
ひっかけ: 「SQL文の解析・実行も DBWn や LGWR などのバックグラウンドプロセスが行う」という誤解(B・C)。個々の SQL 実行を担うのはサーバープロセスであり、バックグラウンドプロセスはインスタンス全体の保守に専念する、という役割分担を区別する。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)