| プロパティ | 説明 |
|---|---|
| パラメータ・タイプ | 文字列 |
| 構文 | DB_BLOCK_CHECKSUM = { OFF | FALSE | TYPICAL | TRUE | FULL } |
| デフォルト値 | TYPICAL |
| 変更の可/不可 | ALTER SESSION、ALTER SYSTEM |
| 基本/基本以外 | 基本以外 |
DB_BLOCK_CHECKSUMでは、DBWnおよびダイレクト・ローダーが、チェックサム(ブロック内に格納されているすべてのバイトから計算された数値)を計算し、ディスクにデータ・ブロックを書き込むときに、すべてのデータ・ブロックのキャッシュ・ヘッダーにそのチェックサムを格納するかどうかを決めます。ブロックが読み込まれると、このパラメータがTYPICALまたはFULLでかつブロックの最後の書込みにチェックサムが格納された場合のみ、チェックサムが検証されます。FULLモードでは、更新/削除文による変更が適用される前にもチェックサムが検証され、変更の適用後に再計算されます。また、すべてのログ・ブロックは、カレント・ログに書き込まれる前に、チェックサムを与えられます。
Oracle Database 11gからは、CPUとキャッシュをより効率的に使用するために、ほとんどのログ・ブロックのチェックサムをフォアグラウンド・プロセスの生成によって実行し、残りの作業をLGWRが実行するようになりました。Oracle Database 11gより前のリリースでは、LGWRが単独でログ・ブロックのチェックサムを実行していました。
このパラメータがOFFに設定されている場合、DBWnはユーザー表領域ではなくSYSTEM表領域のみに対して、チェックサムを計算します。また、このパラメータがOFFに設定されている場合は、ログのチェックサムは実行されません。
チェックサムを使用すると、基になっているディスク、格納システムまたはI/Oシステムが原因で発生する破損を検出できます。FULLに設定すると、DB_BLOCK_CHECKSUMはインメモリーの破損も捕捉し、ディスクの破損を防ぎます。この機能をTYPICALモードにすると、発生する追加オーバーヘッドは1から2%のみです。FULLモードでは、4から5%のオーバーヘッドが発生します。DB_BLOCK_CHECKSUMはTYPICALに設定することをお薦めします。
下位互換性のために、TRUE(TYPICALを意味します)およびFALSE(OFFを意味します)を使用できます。