Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: DB_BLOCK_CHECKING and DB_BLOCK_CHECKSUM

RE: DB_BLOCK_CHECKING and DB_BLOCK_CHECKSUM

From: DENNIS WILLIAMS <DWILLIAMS_at_LIFETOUCH.COM>
Date: Mon, 22 Apr 2002 13:38:09 -0800
Message-ID: <F001.0044B9D9.20020422133809@fatcity.com>


Beth - Well, you can get ahead of the curve and report back to the rest of us. Since you mentioned both parameters, I'm assuming that you are considering turning DB_BLOCK_CHECKSUM=true and leaving DB_BLOCK_CHECKING=false.
Igor - Thanks for pointing out that the DB_BLOCK_CHECKSUM parameter is turned on by default in 9i

        I guess my initial reaction was that of the crusty old DBA. I just get suspicious of something that will help me prevent a problem that I'm not experiencing. I've got bitten a few times on that one. I pasted the documentation in below in case anyone wants to see what these two parameters do.
Dennis Williams
DBA
Lifetouch, Inc.
dwilliams_at_lifetouch.com

>From the Oracle 9i Documentation:
DB_BLOCK_CHECKSUM (default is true in 9i, false in 8i) determines whether DBWn and 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 true and the last write of the block stored a checksum. In addition, Oracle gives every log block a checksum before writing it to the current log.

If this parameter is set to false, DBWn calculates checksums only for the SYSTEM tablespace, but not for user tablespaces.

Checksums allow Oracle to detect corruption caused by underlying disks, storage systems, or I/O systems. Turning on this feature typically causes only an additional 1% to 2% overhead. Therefore, Oracle Corporation recommends that you set DB_BLOCK_CHECKSUM to true.

DB_BLOCK_CHECKING (default value is false) controls whether Oracle performs block checking for data blocks. When this parameter is set to true, Oracle performs block checking for all data blocks. When it is set to false, Oracle does not perform block checking for blocks in the user tablespaces. However, block checking for the SYSTEM tablespace is always turned on.

Oracle checks a block by going through the data on the block, making sure it is self-consistent. Block checking can often prevent memory and data corruption. Block checking typically causes 1% to 10% overhead, depending on workload. 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 true if the performance overhead is acceptable.

-----Original Message-----
Sent: Monday, April 22, 2002 3:25 PM
To: Multiple recipients of list ORACLE-L

Thanks Dennis. Its a paranoid Monday question. Actually I came across an Oracle document which suggested that they always be enabled. I was skeptical so decided to ask the real experts instead :-)

-----Original Message-----
Sent: Monday, April 22, 2002 4:03 PM
To: Multiple recipients of list ORACLE-L

Beth - Are you asking because you are experiencing a corruption problem, or because you're having a paranoid Monday? ;-) I believe the overhead is enough that you wouldn't turn them on "just because". But if you are experiencing occasional corruption, you could tolerate quite a bit of overhead. Dennis Williams
DBA
Lifetouch, Inc.
dwilliams_at_lifetouch.com

-----Original Message-----
Sent: Monday, April 22, 2002 2:20 PM
To: Multiple recipients of list ORACLE-L

Hi everybody,

I'm soliciting opinions on whether or not its a good practice to enable DB_BLOCK_CHECKING and DB_BLOCK_CHECKSUM. How much overhead is associated?

TIA, Beth

--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author: DENNIS WILLIAMS
  INET: DWILLIAMS_at_LIFETOUCH.COM

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author: Seefelt, Beth
  INET: Beth.Seefelt_at_TetleyUSA.com
Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
--

Please see the official ORACLE-L FAQ: http://www.orafaq.com
--

Author: DENNIS WILLIAMS
  INET: DWILLIAMS_at_LIFETOUCH.COM
Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Mon Apr 22 2002 - 16:38:09 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US