一、现象

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

二、分析

  查看日志发现错误如下(日志路径: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

Oracle数据库突然宕机,处理方案的更多相关文章

  1. 记一次 oracle 数据库在宕机后的恢复

    系统:redhat 6.6 oracle版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production 问题描述: ...

  2. SQL Server 数据库最小宕机迁移方案

    一.目的 在做SQL Server数据库维护的时候,当上司要求我们把几十G的数据文件搬动到其它服务器,并且要求最小宕机时间的时候,我们有没什么方案可以做到这些要求呢? 在这里我们假设这两台机器并不是在 ...

  3. clickhouse高可用-节点宕机数据一致性方案-热扩容

    1. 集群节点及服务分配 说明: 1.1. 在每个节点上启动两个clickhouse服务(后面会详细介绍如何操作这一步),一个数据分片,一个数据备份,为了确保宕机数据一致性,数据分片和数据备份不能同一 ...

  4. openstack高可用集群20-openstack计算节点宕机迁移方案

    openstack计算节点宕机迁移方案   情景一:/var/lib/nova/instances/ 目录不共享的处理方法(类似手动迁移云主机到其他节点)

  5. 使用不同用户对Oracle数据库进行异机恢复,失败,错误:Backup file not found in NetBackup catalog

    最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户 ...

  6. Oracle备库宕机启动解决方案

    简介 ORA-10458: standby database requires recovery ORA-01196: 文件 1 由于介质恢复会话失败而不一致 ORA-01110: 数据文件 1: ' ...

  7. Oracle数据库中几种常见的SCN

    控制文件中的SCN 数据文件头的SCN 数据块中的SCN 日志文件头中的SCN 事务SCN 内存中的SCN 一 控制文件中的SCN 1.1 数据库SCN 数据库SCN表示最近一次全量checkpoin ...

  8. 性能测试——记XX银行电票系统上线后宕机问题诊断优化

    四月份我们公司负责的电票系统上线了,这个系统上线比客户方其他系统上线还特殊,是二期改造项目,旧系统数据还要整合抽取到新系统中继续使用,而且该系统不是增量型方式开发上线的,而且全部开发完后全国上线的,这 ...

  9. Python3.5在Windows 7下连接ORACLE数据库

    1.首先需要安装好oracle数据库,本机适用plsql连接数据库正常,记录下数据库名称 2.安装cx_oracle模块 pip install cx_Oracle 3.python中引入模块 imp ...

随机推荐

  1. C/C++中的static

    一.静态全局变量 理解static关键字之前首先回顾一下C/C++程序的在内存中的分配情况.从低地址到高地址依次分为:代码区.全局数据区.堆区.栈区.函数之外的全局变量和静态变量(包括全局变量和静态变 ...

  2. mysql/mariadb 数据库配置

    1.  启动mariadb systemctl start mariadb 2. 设置开机启动mariadb systemctl enable mariadb 一.修改用户密码,以root为例 1. ...

  3. MYSQL根据字段名查询所属表

    MYSQL里面需要根据某个字段名,查询该字段名所在的表.这种情况主要是出现在比如你忘了表名,只知道有这样一个字段名,想找出那张表.第二种情况可能是,同一个字段名属于外键,你想找出例如  ID 这个字段 ...

  4. 做网站,乱码?应该选用什么编码?GB2312 ? UTF-8 ?

    当然了,最常用的编码也就是GB2312 和 UTF-8 了. ================================================起==================== ...

  5. 从Qt到PyQt

    Hello World PyQt与Qt具有极其相似的类族和API,而且不再使用qmake系统和Q_OBJECT宏使得PyQt在没有编译链接时频繁的错误而且代码更加友好. from PyQt4 impo ...

  6. [转]SQL Server 2008- Get table constraints

    本文转自:https://stackoverflow.com/questions/14229277/sql-server-2008-get-table-constraints You should u ...

  7. 阿里云Maven仓库

    <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexu ...

  8. redis入门基础

    环境: centos 一.安装 sudo su cd wget http://labfile.oss.aliyuncs.com/courses/106/redis-2.8.4.tar.gz tar - ...

  9. 使用 Vuejs 开发 chrome 插件的注意事项

    使用 Vuejs 开发 chrome 插件 chrome 插件的开发其实并不难,web开发者可以使用 html, css, javascript 轻松的开发实用的 chrome 插件. 一个好的 ch ...

  10. CentOS 7 搭建PXC 数据库集群

    CentOS 7 搭建PXC 数据库集群 PXC( Percona XtraDB Cluster ) 特点如下: 1.同步复制,事务要么在所有节点提交或不提交,保证了数据的强一致性. 2.多主复制,可 ...