Search results

Hidden parameter _db_block_cache_protect

Question:  What does the hidden parameter _db_block_cache_protect do?
Answer:  The _db_block_cache_protect parameter protects database blocks. If _db_block_cache_protect = true, then when a process needs to access a block in the buffer, it needs to make a special call to enable the access then disable it afterwards. 

The _db_block_cache_protect can add overhead and can harm system performance.
Oracle uses a special database algorithm to protect all modified blocks in the database memory. Any uncontrolled database writes inside the database memory area will be detected, protecting the disk from getting in memory corrupted blocks. After every successful disk read, the database block is checked in the database memory. The checksum information from the block header is compared with the memory checksum calculated on the fly. When they do not match, Oracle raises an error indicating a soft corrupted block, which will be reformatted and reused again.

Although in memory corruption detection is helpful, any in the memory corruption will crash the database instance. This parameter is hidden and by default always on.

No comments:

Post a Comment