1.64 DB_BLOCK_CHECKING
DB_BLOCK_CHECKING specifies whether Oracle Database performs block checking for database blocks.
               
| Property | Description | 
|---|---|
| Parameter type | String | 
| Syntax | 
 | 
| Default value | 
 | 
| Modifiable | 
 | 
| Modifiable in a PDB | Yes, with the following restriction: If block checking is enabled for a CDB, then you cannot subsequently disable block checking in any of its PDBs. That is, if the value of  | 
| Basic | No | 
Values
- 
                        OFForFALSENo block checking is performed for blocks in user tablespaces. However, semantic block checking for SYSTEMtablespace blocks is always turned on.
- 
                        LOWBasic block header checks are performed after block contents change in memory (for example, after UPDATE,INSERTorDELETEstatements, or after inter-instance block transfers in Oracle RAC).
- 
                        MEDIUMAll LOWchecks and full semantic checks are performed for all objects except indexes (whose contents can be reconstructed by a drop+rebuild on encountering a corruption).
- 
                        FULLorTRUEAll LOWandMEDIUMchecks and full semantic checks are performed for all objects.
Oracle checks a block by going through the data in the block, making sure it is logically self-consistent. Block checking can often prevent memory and data corruption. Block checking typically causes 1% to 10% overhead in most applications, depending on workload and the parameter value. Specific DML overhead may be higher. The more updates or inserts in a workload, the more expensive it is to turn on block checking. You should set DB_BLOCK_CHECKING to FULL if the performance overhead is acceptable.
                  
For backward compatibility, the use of FALSE (implying OFF) and TRUE (implying FULL) is preserved.
                  
See Also:
Oracle Database Administrator’s Guide for more information about this parameter