AI作成・独立検証済(有資格者監修なし)1Z0-082 対応
DBWn(データベースライタ)難易度 標準無料

DBWn(Database Writer)プロセスがダーティバッファをディスクへ書き出す契機として、正しいものをすべて選べ。(複数選択)

  1. Aチェックポイントが発生したとき
  2. Bダーティバッファ数が閾値を超え、空きバッファが不足してきたとき
  3. C3秒ごとのタイムアウト、または表領域の OFFLINE化・正常な SHUTDOWN 時
  4. Dトランザクションが COMMIT されるたびに毎回同期的に
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AAI作成・独立検証済

解説

DBWn(Database Writer, DBW0 等)は、データベースバッファキャッシュ内のダーティブロック(変更済みで未反映のブロック)を データファイルへ書き出すバックグラウンドプロセスである。書き出しは主に次の契機で発生する。

  • チェックポイント(checkpoint)の発生時:CKPT がチェックポイントを起動すると、DBWn は該当するダーティバッファをディスクへ書き出す。
  • ダーティバッファ数が閾値を超えたとき:空きバッファが不足してくると、サーバープロセスが新しいブロックをキャッシュに読み込む前に DBWn へ書き出しを要求する。
  • 3秒ごとのタイムアウト:定期的にも書き出しを行う。
  • 表領域の OFFLINE化・読み取り専用化、正常な SHUTDOWN 等:該当ファイルの整合性を確保するために書き出す。

重要な点として、DBWn の書き出しは COMMIT のタイミングとは同期しないCOMMIT 時に同期的に書き込みが保証されるのは REDOログ(LGWR の仕事)であり、 DBWn によるデータブロックのディスク反映は遅延して(非同期に)行われるのが Oracle の設計の要点である(バッファキャッシュの効果を最大化するため)。

各誤答が違う理由
  • DDBWn の書き出しは COMMIT に同期しない。COMMIT 時に同期的に書き込まれるのは REDOログ(LGWR)であり、データブロックの反映は非同期・遅延書き込みが基本。
ひっかけ: 「COMMIT のたびに DBWn が書き出す」という誤解(D)が最頻出。COMMIT で保証されるのは REDOログの書き込みだけであり、 データブロックの書き出しは DBWn がチェックポイント等の契機で非同期に行う。
AIが作成し、独立した検証を経た解説です(有資格者による監修は経ていません)
この分野をもっと解いて、得点源に
バックグラウンドプロセス を含む問題を分野別に演習できます。
演習する →