Bug 6814520 Oracle db_block_checksum performance bug

Oracle db_block_checksum performance bug

We recently ran across a pretty strange performance bug with the checksum function of Oracle. This bug (6814520) causes excessive CPU to be used for the checksum routine. The checksum feature of Oracle is enabled by the db_block_checksum=TRUE parameter in Oracle. With the release of Oracle 10gR2, "TRUE" is the default setting. The order of magnitude of CPU overhead depends on the type of Solaris SPARC architecture.

Chip     %overhead
----     ---------
SPARC64       250%  
USIV           45%  
------------------
w/patch         8%

Oracle released a patch via metalink to address this situation. This patch is for 10.2.0.3 installations. The fix will be included in: 11.1.0.7 and 10.2.0.5. A patch for upcoming 10.2.0.4 is in the works.

If you are unsure whether or not you are hitting this bug, you can easily alter this parameter on the fly:

SQL> alter system set db_block_checksum=FALSE

Warning, this will disable the checksum feature and blocks written when this is turned to FALSE will not contain checksum information.

Regardless of whether you are currently hitting the bug or not, the recommendation is:

INSTALL "6814520" WHEN USING ORACLE 10.2.0.3 !!!

Reference http://blogs.sun.com/glennf/entry/oracle_db_block_checksum_performance