ITPub博客

首页 > 数据库 > Oracle > Checkpoint not complete故障

Checkpoint not complete故障

原创 Oracle 作者:SDYTXM 时间:2013-12-27 03:34:19 0 删除 编辑
Checkpoint not complete故障


一、故障现象:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Checkpoint not complete
  Current log# 3 seq# 30192 mem# 0: /u01/app/oracle/oradata/yingxiang/redo03.log
Thread 1 advanced to log sequence 30193 (LGWR switch)
  Current log# 1 seq# 30193 mem# 0: /u01/app/oracle/oradata/yingxiang/redo01.log
Thu Dec 26 18:47:05 2013
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
二、故障分析:
1.概念:
rodo log file(重做日志文件)---在线重做日志
checkpointing(检查点)
data block writer (数据块写入器DBWn)


2.分析:
    在DBWn在完成其检查点之前就像使用日志文件,就会在数据库的alert日志之出现此类故障现象,此时oracle会尽可能的把所用处理能力都交给DBWn,希望它能更快的完成,此时应用就感觉很慢了


。
    结论有了,原理是什么?
 2.1redo是DB的事务日志,通常用于恢复(一看见“恢复”字样,立马想到“重要”、“救命的”)
    1)系统崩溃后的实例恢复;
    2)通过备份数据文件之后恢复介质;
    3)备用(standy)数据处理;
    4)重做日志挖掘
 2.2在线重做日志文件
    在oracle中完成的每一个操作都会生成一定的redo信息,并写入在线重做日志文件。每个oracle数据库至少有两个在线重做日志文件组,每个组至少有一个成员。(谁要是面试时说至少3个日志组


,说明您有工作经验,呵呵!)重做日志文件成员之间是彼此镜像的,所以在工作中确保安全、可用建立多个redo日志成员。这些成员文件大小是固定的,并可以循环使用,这就引出log switch(日


志切换),当日志切换时会产生检查点,此时DBWn开始将日志文件组1所保护的所有脏块写到磁盘。(所以......)


3.故障解决----
  3.1查看日志文件位置:
     select member from v$logfile;  
  3.2增加日志文件成员:
ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/yingxiang/redo01_b.log' TO GROUP 1;
ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/yingxiang/redo02_b.log' TO GROUP 2;
ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/yingxiang/redo03_b.log' TO GROUP 3;
  3.3增加日志组
ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/yingxiang/redo04_a.log','/u01/app/oracle/oradata/yingxiang/redo04_b.log') SIZE 50m; 
ALTER DATABASE ADD LOGFILE GROUP 5 ('/u01/app/oracle/oradata/yingxiang/redo05_a.log','/u01/app/oracle/oradata/yingxiang/redo05_b.log') SIZE 50m; 
  3.4检查添加状态:
select member from v$logfile;  
SELECT GROUP#, THREAD#, BYTES, MEMBERS, ARCHIVED, STATUS FROM v$log;
  3.5修改日志组大小:
alter system switch logfile(强制日志切换)
alter database drop logfile group 1;
ALTER DATABASE ADD LOGFILE GROUP 1 ('/u01/app/oracle/oradata/yingxiang/redo01_a.log','/u01/app/oracle/oradata/yingxiang/redo01_b.log') SIZE 100m; 


  GROUP#    THREAD#      BYTES    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- --- ----------------
         1          1  104857600          2 YES INACTIVE
         2          1  104857600          2 YES INACTIVE
         3          1  104857600          2 NO  CURRENT
         4          1  104857600          2 YES INACTIVE
         5          1  104857600          2 YES INACTIVE
  3.6观察alert是否正常。




向Secooler 致敬!
Jonhson
13-12-26



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20985606/viewspace-1064845/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: ORA-00265故障分析
请登录后发表评论 登录
全部评论

注册时间:2012-04-02

  • 博文量
    41
  • 访问量
    217403