157.The DB_BLOCK_CHECKING initialization parameter is set to OFF. Which block checking would be performed?
A. The Oracle database will perform block checking for the index blocks only
B. The Oracle database will not perform block checking for any of the data blocks
C. The Oracle database will perform block checking for the default permanent tablespace only
D. The Oracle database will perform block checking for the data blocks in all user tablespaces
E. The Oracle database will perform block checking for the data blocks in the SYSTEM tablespace only
Answer: E
答案解析:
参考:http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams048.htm#REFRN10029
-
DB_BLOCK_CHECKINGspecifies whether or not Oracle performs block checking for database blocks.Values:
-
OFForFALSENo block checking is performed for blocks in user tablespaces. However, semantic block checking for
SYSTEMtablespace blocks is always turned on. -
LOWBasic block header checks are performed after block contents change in memory (for example, after
UPDATEorINSERTstatements, on-disk reads, or inter-instance block transfers in Oracle RAC). -
MEDIUMAll
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). -
FULLorTRUEAll
LOWandMEDIUMchecks 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_CHECKINGtoFULLif the performance overhead is acceptable.For backward compatibility, the use of
FALSE(implyingOFF) andTRUE(implyingFULL) is preserved. -