DB_BLOCK_CHECKSUM&&DB_BLOCK_CHECKING
2015-03-07 23:04
435 查看
最近发现一个问题,在插入数据的时候竟然出现坏块怎么处理
了解下两个参数,可能有用
Values:
No block checking is performed for blocks in user tablespaces. However, semantic block checking for
Basic block header checks are performed after block contents change in memory (for example, after
All
All
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, 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
For backward compatibility, the use of
这个参数是一个高级参数,只在实际更改快时候检查数据和索引块。还在数据快被标记为讹误前进行讹误检测
header of every data block when writing it to disk. Checksums are verified when a block is read - only if this parameter is
every log block a checksum before writing it to the current log.
Starting with Oracle Database 11g, most of the log block checksum is done by the generating foreground processes, while the LGWR performs the rest of the work, for better CPU and cache efficiency. Prior to Oracle Database 11g,
the LGWR solely performed the log block checksum.
If this parameter is set to
this parameter is set to
Checksums allow Oracle to detect corruption caused by underlying disks, storage systems, or I/O systems. If set to
For backward compatibility the use of
这个参数是基本的参数,他迫使oracle进行校验和检查,包括计算每个数据快的校验和,并存储到数据快头中。读取数据时,比较校验和,识别出讹误的数据快,oracle建议是typical
了解下两个参数,可能有用
DB_BLOCK_CHECKING
Property | Description |
---|---|
Parameter type | String |
Syntax | DB_BLOCK_CHECKING = { FALSE | OFF | LOW | MEDIUM | TRUE | FULL } |
Default value | FALSE |
Modifiable | ALTER SYSTEM |
Basic | No |
DB_BLOCK_CHECKINGspecifies whether or not Oracle performs block checking for database blocks.
Values:
OFFor
FALSE
No block checking is performed for blocks in user tablespaces. However, semantic block checking for
SYSTEMtablespace blocks is always turned on.
LOW
Basic block header checks are performed after block contents change in memory (for example, after
UPDATEor
INSERTstatements, on-disk reads, or inter-instance block transfers in Oracle RAC).
MEDIUM
All
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).
FULLor
TRUE
All
LOWand
MEDIUMchecks 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, 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_CHECKINGto
FULLif the performance overhead is acceptable.
For backward compatibility, the use of
FALSE(implying
OFF) and
TRUE(implying
FULL) is preserved.
这个参数是一个高级参数,只在实际更改快时候检查数据和索引块。还在数据快被标记为讹误前进行讹误检测
DB_BLOCK_CHECKSUM
Property | Description |
---|---|
Parameter type | String |
Syntax | DB_BLOCK_CHECKSUM = { OFF | FALSE | TYPICAL | TRUE | FULL } |
Default value | TYPICAL |
Modifiable | ALTER SESSION, ALTER SYSTEM |
Basic | No |
DB_BLOCK_CHECKSUMdetermines whether
DBW
nand the direct loader will calculate a checksum (a number calculated from all the bytes stored in the block) and store it in the cache
header of every data block when writing it to disk. Checksums are verified when a block is read - only if this parameter is
TYPICALor
FULLand the last write of the block stored a checksum. In
FULLmode, Oracle also verifies the checksum before a change application from update/delete statements and recomputes it after the change is applied. In addition, Oracle gives
every log block a checksum before writing it to the current log.
Starting with Oracle Database 11g, most of the log block checksum is done by the generating foreground processes, while the LGWR performs the rest of the work, for better CPU and cache efficiency. Prior to Oracle Database 11g,
the LGWR solely performed the log block checksum.
If this parameter is set to
OFF,
DBW
ncalculates checksums only for the
SYSTEMtablespace, but not for user tablespaces. In addition, no log checksum is performed when
this parameter is set to
OFF.
Checksums allow Oracle to detect corruption caused by underlying disks, storage systems, or I/O systems. If set to
FULL,
DB_BLOCK_CHECKSUMalso catches in-memory corruptions and stops them from making it to the disk. Turning on this feature in
TYPICALmode causes only an additional 1% to 2% overhead. In the
FULLmode it causes 4% to 5% overhead. Oracle recommends that you set
DB_BLOCK_CHECKSUMto
TYPICAL.
For backward compatibility the use of
TRUE(implying
TYPICAL) and
FALSE(implying
OFF) values is preserved
这个参数是基本的参数,他迫使oracle进行校验和检查,包括计算每个数据快的校验和,并存储到数据快头中。读取数据时,比较校验和,识别出讹误的数据快,oracle建议是typical
相关文章推荐
- db_block_checksum实质是通过flg_kcbh来控制block checksum
- ORACLE DB_BLOCK_CHECKING
- Oracle db_block_checking和db_block_checksum 两个参数区别
- Checking All CheckBoxes in a GridView
- db_block_checking与db_block_checksum
- db_block_checking和db_block_chec…
- 对于'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解和解释
- DB_BLOCK_CHECKSUM和DB_BLOCK_CHECKING
- 对'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解和解释
- DB_BLOCK_SIZE Initialization Pa…
- db_block_checking与db_block_chec…
- svn: Checksum mismatch while updating: 'root/yourProject/someFolder/fileUnabletoUpdate'; expected: '4513454...', actual:'3245345
- 对于'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解和解释
- 对'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解和解释
- ORACLE 变量之DB_BLOCK_CHECKING
- DB_BLOCK_CHECKING
- Checking All CheckBoxes in a GridView
- db_block_checking与db_block_checksum
- db block gets&&consistent gets&&physical reads
- db_block_checking与db_block_checksum