MTTR詳解

zecaro發表於2011-02-11

原文連結

MTTR和MTBF的區別
關鍵詞:
MTTR-Mean Time To Recover
MTBF-Mean Time Between Failures

       對於DBA來說,應該明白資料庫當機對業務的壓力,管理者關心的當機時間所要付出的成本,特別是損失資料所增加的企業成本,所以DBA一個重要的職責就是儘量減少當機時間和資料損失最小化。
       DBA應該努力減少MTTR,制定策略使資料庫不可用時間縮為最短,能否應付各種DB Failure,運用有效的手段減少損失;努力增加MTBF,DBA必須理解所在資料庫環境的備份和恢復結構,並且正確配置資料庫,防止DB Failure發生。
       在初始化引數檔案中有一個引數FAST_START_MTTR_TARGET,它定義了MTTR大小(單位是秒),另外還有兩個引數,LOG_CHECKPOINT_TIMEOUT和LOG_CHECKPOINT_INTERVAL。

SQL> show parameter FAST_START_MTTR_TARGET
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_mttr_target integer 600
SQL> show parameter LOG_CHECKPOINT_TIMEOUT
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_checkpoint_timeout integer 1800
SQL> show parameter LOG_CHECKPOINT_INTERVAL
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_checkpoint_interval integer 0


       在ORACLE METALINK網站對FAST_START_MTTR_TARGET的解釋如下:
The information in this article applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.0 to 10.2.0.0
This problem can occur on any platform.
Goal
Tuning Automatic Checkpoint in 10G
Fix
Checkpoints are means of synchronizing the data modified in memory with the data files of the database. By periodically writing modified data to the data files between checkpoints Oracle Database ensures that sufficient amounts of memory are available, improving the performance of finding free memory for incoming operations.

Checkpointing is of 2 types:

1. Normal checkpoint.
2. Incremental checkpoint.
1. Normal checkpoint will update the control file as well as all datafile headers.
2. Incremental checkpoint will update only the control file.

Incremental checkpoint is:


> Continuously active checkpoint
> no completion RBA
> checkpoint advanced in memory only
> RBA for incremental checkpoint recorded in control file.
> DBW0 writes out dirty buffers to advance the incremental checkpoint.
> Used to reduce recovery time after a failure.

 

Incremental checkpoint is determined by:


> Upper bound on recovery needs.
> size of the smallest log file
> value of log_checkpoint_interval
> value of log_checkpoint_timeout
> Total numbers of dirty buffers in the cache.


In 8i:
===

Checkpoint tuning is controlled by three parameters :

LOG_CHECKPOINT_INTERVAL
LOG_CHECKPOINT_TIMEOUT
FAST_START_IO_TARGET
The fast-start checkpointing feature limits the number of dirty buffers and thereby limits the amount of time required for instance recovery. If Oracle must process an excessive number of I/O operations to perform. instance recovery, then performance can be adversely affected. You can control this overhead by setting an appropriate value for the parameter

FAST_START_IO_TARGET.

However, aggressive checkpointing can reduce run-time performance, because checkpointing causes DBWn processes to perform. I/O. The overhead associated with checkpointing is usually small.


In 9i:
===

New parameter is introduced - FAST_START_MTTR_TARGET.

The FAST_START_MTTR_TARGET initialization parameter simplifies the configuration of recovery time from instance or system failure. This parameter lets you specify the number of seconds crash or instance recovery is expected to take. The FAST_START_MTTR_TARGET is internally converted to a set of parameters that modify the operation of Oracle such that recovery time is as close to this estimate as possible.

The maximum value for FAST_START_MTTR_TARGET is 3600, or one hour. If you set the value to more than 3600, then Oracle rounds it to 3600. There is no minimum value for FAST_START_MTTR_TARGET. However, this does not mean that you can target the
recovery time as low as you want. The time to do a crash recovery is limited by the low limit of the target number of dirty buffers, which is 1000, as well as factors such as how long initialization and file open take.


In 10g:
=====

Starting with Oracle Database 10g, the database can self-tune checkpointing to achieve good recovery times with low impact on normal throughput. With automatic checkpoint tuning, Oracle Database takes advantage of periods of low I/O usage to write out data modified in memory to the data files without adverse impact on the throughput. Thus, a reasonable crash recovery time can be achieved even if the administrator does not set any checkpoint-related parameter or if this parameter is set to a very large value.

Oracle Database 10g supports automatic checkpoint tuning which takes advantage of periods of low I/O usage to advance checkpoints and therefore improve availability. Automatic checkpoint tuning is in effect if the FAST_START_MTTR_TARGET database initialization parameter is unset. Observe the following recommendations to take advantage of automatic checkpoint tuning.

If it is necessary to control the time to recover from an instance or node failure, then set FAST_START_MTTR_TARGET to the desired MTTR in seconds. If targeting a specific MTTR is unnecessary, then leave FAST_START_MTTR_TARGET unset to enable automatic checkpoint tuning. Fast-start checkpointing can be disabled by setting FAST_START_MTTR_TARGET=0. Disable fast-start checkpointing only when system I/O capacity is insufficient with fast-start checkpointing enabled and achieving a target MTTR is not important.Enabling fast-start checkpointing increases the average number of writes per transaction that DBWn issues for a given workload (when compared with disabling fast-start checkpointing). However, if the system is not already near or at its maximum I/O capacity, then fast-start checkpointing has a negligible impact on performance. The percentage of additional DBWn writes with very aggressive fast-start checkpointing depends on many factors, including the workload, I/O speed and capacity, CPU speed and capacity, and the performance of previous recoveries.


If FAST_START_MTTR_TARGET is set to a low value, then fast-start checkpointing is more aggressive, and the average number of writes per transaction that DBWn issues is higher in order to keep the thread checkpoint sufficiently advanced to meet the requested MTTR. Conversely, if FAST_START_MTTR_TARGET is set to a high value, or if automatic checkpoint tuning is in effect (that is, FAST_START_MTTR_TARGET is unset), then fast-start checkpointing in less aggressive, and the average number of writes per transaction that DBWn issues is lower.

Fast-start checkpointing can be explicitly disabled by setting FAST_START_MTTR_TARGET=0. Disabling fast-start checkpointing leads to the fewest average number of writes per transaction for DBWn for a specific workload and configuration, but also results in the highest MTTR.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23650854/viewspace-687038/,如需轉載,請註明出處,否則將追究法律責任。

相關文章