Oracle 10g 实例恢复Tuning

原创 2008年09月30日 20:54:00
导读:




先要明白一些概念:


日志文件中的信息为了当系统出现failure时,保证事务可以恢复。当用户事务完成发出commit时,总是先等待LGWR进程将事务所需的redo信息写到日志文件(之前可能在redo buffer中)后,才会收到commit complete信息。


DBWR进程总是比LGWR进程写的速度慢(DBWR进程是随机写,LGWR进程是顺序写,随机写比顺序写要慢)


当DBWR进程要将缓存区中的信息写入到数据文件时,会先通知LGWR进程将事务相关的redo信息写入到日志文件。


SCN可以理解为一个标签,ORACLE对数据库中的每个操作都打上一个标签。这个标签是顺序增加的。永远不会归0(除非数据库重建)


CHECKPOINT是ORACLE为了记录哪些数据已经被写入到数据文件中。



CHECKPOINT的作用就是要保证当checkpoint发生时,这个checkpoint
SCN之前的数据都要由DBWR写入到数据文件中,而在DBWR写之前,又会触发LGWR进程将相关的redo信息写入到日志文件中。这
样,checkpoint完成后,发生instance failure时就不再需要恢复这个checkpoint SCN前的信息.


理解实例恢复的相关信息:


Instance Recovery所需要的信息,就是最近一次checkpoint之后到日志文件结尾的这些redo信息。

因为checkpoint之前的数据都已经一致性地写入到数据文件中了,而之后的数据可能有一部分已经写进数据文件,而有一部分没有写进数据文件。


Instance Recovery所需要的时间,将数据文件 从最近一次checkpoint开始,恢复到控制文件中记录的这个数据文件的最后一个SCN值为止,应用这两者之间redo信息的时间就是instance recovery所要花费的时间。


实例恢复的调整:


由上面的信息可以总结出,实例恢复最关键的问题的就是最近一次CHECKPOINT发生的时间,以及CHECKPOINT发生的频率。只有确认了最近一次CHECKPOIN发生的时间点,才能确定恢复所需的redo信息,以及恢复所要花费的时间。


对于instance recovery花费时间的调优,就是对参数FAST_START_MTTR_TARGE的调整,单位“秒”,最大值为3600秒。


也就是说FAST_START_MTTR_TARGET这个参数的设置会直接影响到checkpoint发生的频率。


FAST_START_MTTR_TARGE所设置的时间就是用户希望数据库用在instance recovery的时间。也就是从应用最近一次checkpoint到日志信息最后这两个点之间redo信息所要花费的时间。


MTTR设置的时间过小的话,会造成系统checkpoint过于频繁,而发生checkpoint时就要DBWR,LGWR等进程写数据文件,产生物理IO,久而久之,数据库性能会越来越慢;

MTTR设置的时间过大的话,当实例失败时,instance recover所花费的时间就会过长。


从10g开始,数据库可以实现自动调整,如果FAST_START_MTTR_TARGET=0时,可以从alert里面看到如下信息:

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

此时,数据库会根据负载自动调整checkpoint发生的频率。


如果要严格要求instance recovery时间的话,就设置FAST_START_MTTR_TARGET参数,如果不是那么严格的话,建议用10g的自动调整。





本文转自

http://www.cnblogs.com/minbear/archive/2008/06/13/1219507.html

oracle 10g sql tuning advisor 手工执行

1 单个sql 语句:  (1)创建 sql tuning task DECLARE   my_task_name VARCHAR2(30);   my_sqltext   CLOB;   ...
  • loryliu
  • loryliu
  • 2015年05月29日 14:29
  • 370

Oracle 10g RAC OCR 和 VotingDisk 的备份与恢复

Oracle RAC 中OCR 和Voting Disk 备份在我的blog: Oracle RAC 常用维护工具和命令 中已经有说明,现在再次把它单独拿出做一个说明, 因为OCR 和 Voting ...
  • tianlesoftware
  • tianlesoftware
  • 2010年04月09日 15:16
  • 17272

oracle 10g RAC [恢复OCR]

 oracle 10g RAC [恢复OCR] ----查询OCR状态: # /oracle/product/10g/crs/bin/ocrcheck             P...
  • royjj
  • royjj
  • 2014年04月01日 09:03
  • 1730

Oracle 10g 数据库的备份和还原

一、备份数据库 1.在图形工具中,如sqldeveloper,pl/sqldeveloper用以下这句查找空表 select 'alter table '||table_name||' al...
  • a497785609
  • a497785609
  • 2013年12月27日 20:00
  • 4582

使用RMAN恢复Oracle 10g RAC库至异机

分类: Oracle 主RAC库:2个节点 rac1(192.168.218.168),rac2(192.168.218.168) 采用ASM+RAW 备机 standby(192...
  • techsupporter
  • techsupporter
  • 2017年05月05日 18:13
  • 335

oracle实例恢复 详解理论知识

oracle 备份恢复的基础, 潜心读完了你会很好的了解什么是实例
  • wanghui5767260
  • wanghui5767260
  • 2014年03月08日 16:03
  • 1795

oracle常规恢复实例

1. 数据库关闭时的恢复(冷备) a. shutdown immediate b. 冷备整个数据文件 SQL> select file#,name from v$dbfile;      FILE...
  • gumengkai
  • gumengkai
  • 2016年11月23日 15:25
  • 673

Oracle10g RMAN备份异机恢复过程

Oracle10g RMAN备份异机恢复过程
  • managergh
  • managergh
  • 2015年04月29日 20:58
  • 981

Oracle DataBase单实例使用ASM案例(3)--Oracle 10g应用

Oracle DataBase单实例使用ASM案例(3)--Oracle 10g应用系统环境:操作系统:RedHat EL5(64)Oracle 软件:Oracle 10gR2   在Oracle 1...
  • lqx0405
  • lqx0405
  • 2015年03月31日 12:02
  • 1221

Oracle 10g 异常:ORA-01092: ORACLE 实例终止。强制断开连接 解决方案

问题:SQL> connect sys/password @RAOASYS as sysdba 已连接到空闲例程。 SQL> startup ORACLE 例程已经启动。 Total System G...
  • yexianyi
  • yexianyi
  • 2009年08月16日 21:16
  • 2041
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle 10g 实例恢复Tuning
举报原因:
原因补充:

(最多只允许输入30个字)