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

  • 相关阅读:
    UIPickerView
    visual studio2010生成get方法和set方法快捷键
    vmware安装mac虚拟机键盘失灵解决方法
    运行android模拟器过大
    [SQL Utility] How to retrieve Oracle’s version info?
    【读书笔记】c# in depth (1)
    [Oracle 10g] About Recycle bin
    [Oracle Troubleshooting] Get Oracle Bounces When Data File Is Missing
    [Oracle Mgmt]Clone Oracle Database Manually
    [SQL*PLUS]Set Up Sql*Plus
  • 原文地址:https://www.cnblogs.com/BillyYoung/p/8377167.html
Copyright © 2011-2022 走看看