zoukankan      html  css  js  c++  java
  • Oracle数据库突然宕机,处理方案

    一、现象

      数据库突然断掉,无法响应,

    二、分析

      查看日志发现错误如下(日志路径:D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_hrpdev.log):

    Mon Jan 15 13:16:00 2018
    Thread 1 cannot allocate new log, sequence 8
    Checkpoint not complete
      Current log# 1 seq# 7 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HRPDEV\REDO01.LOG
    Thread 1 advanced to log sequence 8 (LGWR switch)
      Current log# 2 seq# 8 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HRPDEV\REDO02.LOG
    Mon Jan 15 13:16:30 2018
    Thread 1 cannot allocate new log, sequence 9
    Checkpoint not complete
      Current log# 2 seq# 8 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HRPDEV\REDO02.LOG
    Thread 1 advanced to log sequence 9 (LGWR switch)
      Current log# 3 seq# 9 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HRPDEV\REDO03.LOG

     错误分析:

      当进行redo 切换的时候,会触发checkpoint事件。Checkpoint做的事情之一是触发DBWn把buffer cache中的Dirty cache磁盘。另外就是把最近的系统的SCN更新到datafile header和control file(每一个事务都有一个SCN),做第一件事的目的是为了减少由于系统突然宕机而需要的恢复时间,做第二件事实为了保证数据库的一致性。

      Checkpoint will flush dirty block to datafile, 从而触发DBWn书写dirty buffer,等到redo log覆盖的dirty block全部被写入datafile后才能使用redo log(循环使用),如果DBWn写入过慢,LGWR必须等待DBWn完成,则这时会出现“checkpoint not completed”。 所以当出现checkpoint  not competed的时候,还会伴随cannot allocate new log的错误。

    解决方案:

      遇到这种问题,解决方案有增加日志组 或者 增大日志文件,也可以修改checkpoint 参数使得检查点变得频繁点。

    三、解决方案

      增加日志组或增大日志文件。

      1、查看日志状态

    select group#,sequence#,bytes,members,status from v$log;

      2、增加日志组

    alter database add logfile group 4 ('D:\app\Administrator\oradata\hrpdev\redo04.log') size 500m;
    alter database add logfile group 5 ('D:\app\Administrator\oradata\hrpdev\redo05.log') size 500m;
    alter database add logfile group 6 ('D:\app\Administrator\oradata\hrpdev\redo06.log') size 500m;

    四、参考链接

      http://www.cndba.cn/Dave/article/613

      http://blog.csdn.net/huaishu/article/details/16886111

  • 相关阅读:
    Ecshop商品批量上传,内容编码错误 您尝试查看的页面无法显示
    php 数组转化成字符串,并原样还原回数组
    PHP函数 curl_setopt
    <javascript学习笔记> javascript 获得url里参数。
    <yii 框架学习> <转> 关于yii数据库添加新字段之后model类的修改
    <yii 框架学习> 清空数据表
    <javascript学习笔记>javascript 实现隔行变色
    <javascript学习笔记> javascript 检查输入内容的长度。
    <php 代码积累 数组相关>
    <yii 框架学习> yii 框架改为中文提示
  • 原文地址:https://www.cnblogs.com/BillyYoung/p/8377167.html
Copyright © 2011-2022 走看看