10. Checksum OK
Data inside block is bad
Examples:
Stale lock
Wrong free space indicators
(avsp or tosp)
Wrong block type
ORA-600 reported
13. Causes
Oracle bug
Failure of the Oracle software infrastructure
Memory error
Direct-load inserts with no-logging
14.
15. a.k.a media corruption
Most common type of corruptions
Any major damage to the block
'zeroed' block
Block checksums inconsistent
Wrong internal block structures
Oracle doesn’t recognize block as a
legitimate
16. Problem with software
Firmware
Kernel
File system corruption
Controller error
(...)
Problem with hardware
CPU or memory error
Cache on storage array or disk
(...)
17. Intrablock – within single block
- physical
- logical
Interblock – corruption between > 1 block
- only logical
28. NOARCHIVELOG Block media recovery
Only complete block media recovery
Blocks unavailable until recovered
Full backups only for BMR
BMR only on corrupted blocks ;-)
First block is unrecoverable
40. To break or fix
Metalink DocID 62015.1
Shipped until 10g ... works in 12c
Be careful while using it
Be extremely careful while in EDIT MODE
Allows to calculate block checksums
41. Mark a block as valid (block sequence reset)
Noarchivelog failures problems with db
opening
Datafiles from older backups
66. New in 11gR1
(10gR2 „_db_lost_write_checking”)
Record SCN of read block into REDO stream
Dynamic (alter system)
Meant for Data Guard environments
Must be the same for all instances (RAC)
Other techniques may not detect lost writes
~50 bytes / read block
67. NONE functionality disabled (default)
TYPICAL READS logged for
R/W tablespaces
FULL READS logged for
R/W and R/O tablespaces
88. Corruptions are rare
Corruptions serious consequencies
„A stitch in time saves nine”
Impact can be huge:
89. Db_block_checking medium for new DBs
If I/O or CPU usage high:
PRI: db_block_checksum OFF / LOW
PRI: db_block_checking OFF
SBY: enable
Consider DB_LOST_WRITE_PROTECT
(dynamic / revertible)
90. Oracle-base.com (Tim Hall)
Oracle DOC & Metalink
Blogs @ Pythian.com
Disassembling the Oracle Data Block by
GrahamThornton (2005)
(many others)