2.75 DB_BLOCK_CHECKING
DB_BLOCK_CHECKING
には、Oracle Databaseがデータベース・ブロックに対してブロック・チェックを実行するかどうかを指定します。
特性 | 説明 |
---|---|
パラメータ・タイプ |
文字列 |
構文 |
|
デフォルト値 |
|
変更可能 |
|
PDBで変更可能 |
はい、次の制限があります: CDBに対してブロック・チェックが有効になっている場合、以降、PDBのいずれのブロック・チェックも無効にできません。つまり、CDBの |
基本 |
いいえ |
値:
-
OFF
またはFALSE
ユーザー表領域内のブロックに対してブロック・チェックは実行されません。ただし、
SYSTEM
表領域のブロックに対するセマンティック・ブロック・チェックは常にオンです。 -
LOW
メモリー内でブロックの内容が変更された後(たとえば、
UPDATE
、INSERT
またはDELETE
文の後、またはOracle RACでのインスタンス間ブロック転送の後)、基本ブロック・ヘッダー・チェックが実行されます。 -
MEDIUM
索引(破損が生じた場合に、削除と再作成によってその内容を再構成できるオブジェクト)以外のすべてのオブジェクトに対して、すべての
LOW
チェックおよび完全セマンティック・チェックが実行されます。 -
FULL
またはTRUE
すべてのオブジェクトに対して、すべての
LOW
およびMEDIUM
チェックおよび完全セマンティック・チェックが実行されます。
Oracleは、ブロックのデータ全体をチェックし、論理的な自己一貫性を確認します。ブロック・チェックにより、メモリーおよびデータの破損を防ぐことができます。通常、ブロック・チェックは、ほとんどのアプリケーションでワークロードおよびパラメータ値に応じて、1から10%のオーバーヘッドの原因になります。特定のDMLオーバーヘッドが高くなる可能性があります。作業負荷を更新または挿入するほど、ブロック・チェックのコストがかかります。パフォーマンスのオーバーヘッドを許容できる場合は、DB_BLOCK_CHECKING
をFULL
に設定します。
下位互換性のために、FALSE
(OFF
を意味します)およびTRUE
(FULL
を意味します)を使用できます。
注意:
このパラメータでブロック・チェックを有効にする前に、データベース内の論理的な破損を検出して修復することをお薦めします。そうしないと、論理的な破損を含むブロックは、ブロック・チェックが有効になった後にソフト破損としてマークされ、そのブロックはDML文によって変更されます。これにより、ORA-1578
エラーが発生し、そのブロックは読取り不可になります。論理的な破損の検出および修復の詳細は、Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドを参照してください。
関連項目:
このパラメータの詳細は、『Oracle Database管理者ガイド』を参照してください。