首页 > 数据库 > Oracle > Oracle 10g 中减少实例恢复时间的参数设置
实例恢复由需要应用的脏缓冲区块个数确定,脏缓冲区块个数的最大值由检查点确定。以下参数可以控制检查点。
fast_start_mttr_target:指定实例恢复的最大时间,单位:秒。 10g中的主要设置参数。
log_checkpoint_timeout:指定发出检查点的时间间隔,单位:秒。 10g中用于与以前版本兼容。
log_checkpoint_interval:指定发出检查点的重做日志块间隔,单位:OS块。 10g中用于与以前版本兼容。
通过查询v$instance_recovery,可以监视实例恢复的动态信息。
SQL> select actual_redo_blks,target_redo_blks,estimated_mttr from v$instance_recovery;
ACTUAL_REDO_BLKS TARGET_REDO_BLKS ESTIMATED_MTTR
---------------- ---------------- --------------
1146 3061 16
因为实例恢复的时间主要由REDO时间和UNDO时间确定,所以为了缩小实例恢复时间,应该调整REDO和UNDO时间。
1、调整REDO时间。
默认情况下,实例的redo由SMON完成。为了降低redo时间,可以启动多个slave进程。
参数:recovery_parallelism,静态,需要重启。
SQL> show parameter recovery_para
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
recovery_parallelism integer 0
SQL> alter system set recovery_parallelism=2 scope=spfile;
系统已更改。
2、调整UNDO时间。
默认情况下,实例的UNDO操作由SMON完成。为了降低undo时间,可以启动多个slave进程。
参数:fast_start_parallel_rollback。如果设为false,则不启用slave进程;如果设为LOW,则slave进程个数为2倍的cpu个数;如果设为HIGH,则slave进程个数为4倍的cpu个数。
SQL> alter system set fast_start_parallel_rollback='HIGH';
系统已更改。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/59630/viewspace-903582/ ,如需转载,请注明出处,否则将追究法律责任。