チェックポイント、ファスト・スタート・チェックポイント
チェックポイント
チェックポイントとは、REDO ログ・ファイル(LGWR) とデータファイル(DBWn) の同期を取るためときに発生するイベント
このタイミングで、コミットされた 全ての変更内容(REDO エントリ)がデータファイルに反映されて同期していることを保証する。
チェックポイントが発生するタイミング
- チェックポイントを起こしたとき
- REDO ログファイルの切り替えが起こるとき
代表的なコマンド
- ALTER SYSTEM CHECKPOINT
- ALTER SYSTEM SWITCH LOGFILE
- ALTER SYSTEM ARCHIVE LOG CURRENT (NOSWITCH含まず)
- ALTER DATABASE BEGIN BACKUP
例外) SHUTDOWN ABORT時には、チェックポイントが発生しない ⇒ クラッシュ・リカバリ が必要
例外) ALTER TABLESPACE tablesapce OFFLINE IMMEDIATE時には発生しない ⇒ メディア・リカバリが必要
チェックポイント時のコスト
チェックポイントは、以下の処理を行う(コストが大きな処理)
- DBWn が ダーティブロックをダーティブロック・リストからデータファイルに書き込む
- コントロールファイルに チェックポイント情報 を書き込む
- すべてのデータファイルのヘッダに SCN を書き込む(読込み専用表領域だけのデータファイルは・・・どうなのだろう)
ファスト・スタート・チェックポイント
REDOスレッドだけに存在するバッファの総量を規制する技術。
「時間およびブロック」単位で制限してリカバリに要する時間を指定時間以下することを保証できる。
チェックポイント時に生ずる一時的で急激なI/Oで全体レスポンスが低下するのを防止する。
CBQ(チェックポイント・バッファ・キュー)と REDO ログ・スレッドのリンクによって分割処理される。
関連事項
- 関連初期パラメータ
FAST_START_MTTR_TARGET
LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TIMEOUT
FAST_START_IO_TARGET
- 関連プロセス・ファイル
CKPT、LGWR、DBWn 、コントロールファイル、データファイル
ポイント 更新処理を伴うチューニングの検証前には、チェックポイントとログスイッチ、ブロックのクリーンアウト を故意に発生させておく。
遅延書き込み処理が検証中の不定期なところで発生するとレスポンスタイムにばらつきが出てしまう。