您的位置:首页 > 其它

OCP-1Z0-053-V12.02-52题

2013-11-04 00:13 302 查看
52.You have the following requirements in relation to the detection of block corruption for your database
instance:
Check for logical self-consistency of data blocks when modified in memory.
Checksums are calculated before and after the block change.
Checks are performed for the lost writes to the physical standby database.
Which method would help you perform the above checks automatically?
A. Set the DB_SECUREFILE parameter to PERMITTED.
B. Set the DB_ULTRA_SAFE parameter to DATA_ONLY.

C. Set the DB_LOCK_CHECKSUM parameter to TYPICAL.
D. Set the DB_LOST_WRITE_PROTECT parameter to TYPICAL.
Answer: B

答案解析:

参考:http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams069.htm#REFRN10295

DB_ULTRA_SAFE
sets the default values for other parameters that control protection levels.
Values:

OFF


When any of
DB_BLOCK_CHECKING
,
DB_BLOCK_CHECKSUM
, or
DB_LOST_WRITE_PROTECT
are explicitly set, no changes are made.

DATA_ONLY


DB_BLOCK_CHECKING
will be set to
MEDIUM
.
http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams048.htm#REFRN10029

DB_LOST_WRITE_PROTECT
will be set to
TYPICAL
.
http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams063.htm#REFRN10268

DB_BLOCK_CHECKSUM
will be set to
FULL
.
http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams049.htm#REFRN10030

DATA_AND_INDEX


DB_BLOCK_CHECKING
will be set to
FULL
.

DB_LOST_WRITE_PROTECT
will be set to
TYPICAL
.

DB_BLOCK_CHECKSUM
will be set to
FULL
.

DB_BLOCK_CHECKING
specifies whether or not Oracle performs block checking for database blocks.

Values:

OFF
or
FALSE


No block checking is performed for blocks in user tablespaces. However, semantic block checking for
SYSTEM
tablespace blocks is always turned on.

LOW


Basic block header checks are performed after block contents change in memory (for example, after
UPDATE
or
INSERT
statements, on-disk reads, or inter-instance block transfers in Oracle RAC).

MEDIUM

All
LOW
checks and full semantic checks are performed for all objects except indexes (whose contents can be reconstructed by a drop+rebuild on encountering a corruption).

FULL
or
TRUE


All
LOW
and
MEDIUM
checks 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_CHECKING
to
FULL
if the performance overhead
is acceptable.
For backward compatibility, the use of
FALSE
(implying
OFF
) and
TRUE
(implying
FULL
) is preserved.

DB_LOST_WRITE_PROTECT
enables or disables lost write detection. A data block lost write occurs when an I/O subsystem acknowledges the completion of the block write,
while in fact the write did not occur in the persistent storage.

When the parameter is set to
TYPICAL
on the primary database, the instance logs buffer cache reads for read-write tablespaces in the redo log, which is necessary for detection of lost writes.

When the parameter is set to
FULL
on the primary database, the instance logs reads for read-only tablespaces as well as read-write tablespaces.
When the parameter is set to
TYPICAL
or
FULL
on the standby database or on the primary database during media recovery, the instance performs lost write detection.
When the parameter is set to
NONE
on either the primary database or the standby database, no lost write detection functionality is enabled.

DB_BLOCK_CHECKSUM
determines whether
DBW
n
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
TYPICAL
or
FULL
and
the last write of the block stored a checksum. In
FULL
mode, Oracle also verifies the checksum before a change application from update/delete statements and recomputes it after the change is applied. In
addition, Oracle gives every log block a checksum before writing it to the current log.

Starting with Oracle Database 11g, most of the log block checksum is done by the generating foreground processes, while the LGWR performs the rest of the work, for better CPU and cache efficiency. Prior to Oracle Database 11g,
the LGWR solely performed the log block checksum.
If this parameter is set to
OFF
,
DBW
n
calculates checksums only for the
SYSTEM
tablespace, but not for user tablespaces. In addition, no log checksum is performed when this parameter
is set to
OFF
.
Checksums allow Oracle to detect corruption caused by underlying disks, storage systems, or I/O systems. If set to
FULL
,
DB_BLOCK_CHECKSUM
also catches in-memory corruptions and stops them from making
it to the disk. Turning on this feature in
TYPICAL
mode causes only an additional 1% to 2% overhead. In the
FULL
mode it causes 4% to 5% overhead. Oracle recommends that you set
DB_BLOCK_CHECKSUM
to
TYPICAL
.
For backward compatibility the use of
TRUE
(implying
TYPICAL
) and
FALSE
(implying
OFF
) values is preserved.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: