1.66 DB_BLOCK_CHECKING

DB_BLOCK_CHECKINGには、Oracle Databaseがデータベース・ブロックに対してブロック・チェックを実行するかどうかを指定します。

特性 説明

パラメータ・タイプ

文字列

構文

DB_BLOCK_CHECKING = { FALSE | OFF | LOW | MEDIUM | TRUE | FULL }

デフォルト値

FALSE

変更可能

ALTER SYSTEM

PDBで変更可能

はい、次の制限があります:

CDBに対してブロック・チェックが有効になっている場合、以降、PDBのいずれのブロック・チェックも無効にできません。つまり、CDBのDB_BLOCK_CHECKINGの値がLOWMEDIUMTRUEまたはFULLである場合、PDBのいずれかにあるDB_BLOCK_CHECKINGの値をFALSEまたはOFFに設定しようとするとエラーが発生します。

基本

いいえ

値:

  • OFFまたはFALSE

    ユーザー表領域内のブロックに対してブロック・チェックは実行されません。ただし、SYSTEM表領域のブロックに対するセマンティック・ブロック・チェックは常にオンです。

  • LOW

    メモリー内でブロックの内容が変更された後(たとえば、UPDATEINSERTまたはDELETE文の後、またはOracle RACでのインスタンス間ブロック転送の後)、基本ブロック・ヘッダー・チェックが実行されます。

  • MEDIUM

    索引(破損が生じた場合に、削除と再作成によってその内容を再構成できるオブジェクト)以外のすべてのオブジェクトに対して、すべてのLOWチェックおよび完全セマンティック・チェックが実行されます。

  • FULLまたはTRUE

    すべてのオブジェクトに対して、すべてのLOWおよびMEDIUMチェックおよび完全セマンティック・チェックが実行されます。

Oracleは、ブロックのデータ全体をチェックし、論理的な自己一貫性を確認します。ブロック・チェックにより、メモリーおよびデータの破損を防ぐことができます。通常、ブロック・チェックは、ほとんどのアプリケーションでワークロードおよびパラメータ値に応じて、1から10%のオーバーヘッドの原因になります。特定のDMLオーバーヘッドが高くなる可能性があります。作業負荷を更新または挿入するほど、ブロック・チェックのコストがかかります。パフォーマンスのオーバーヘッドを許容できる場合は、DB_BLOCK_CHECKINGFULLに設定します。

下位互換性のために、FALSE(OFFを意味します)およびTRUE(FULLを意味します)を使用できます。

関連項目:

このパラメータの詳細は、『Oracle Database管理者ガイド』を参照してください。