一、现象

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

二、分析

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

    1. 单测 + 压测 压测 go test -bench=. -benchmem 单元测试 go test -v . 2. pprof + 火焰图(查看cpu占用,内存占用) 嵌入代码 import ...

  2. Fiddler 502问题

    使用Fiddler的时候遇到下面这个问题:在地址栏想打开个一般处理程序,出现连接本机失败的提示,如下图: 而这在我没打开Fiddler的时候是显示正常的. 查看Fiddler,在嗅探 -> 第二 ...

  3. java-TreeSet进行排序的2种方式

    TreeSet和HashSet的区别在于, TreeSet可以进行排序, 默认使用字典顺序排序, 也可以进行自定义排序 1, 自然排序 2, 比较器排序 自然排序: 1, 需要被排序的类实现Compa ...

  4. Go RabbitMQ (一)

    RabbitMQ 简介 RabbitMQ是一个消息代理,用来负责接收和转发消息. 术语 生产者:生产者是负责发送消息的 队列:队列是RabbitMQ用来存储消息的,受主机内存和磁盘大小的限制,本质上是 ...

  5. ModelState.IsValid always returning true while mocking a request

    ASB.net  MVC 视图验证里有一个IValidatableObject接口.这里面有一个验证方法.通常我们表单提交的时候dto就是用一个实现IValidatableObject这个接口的实体. ...

  6. oracle数据库定时任务

    应用系统运行中,经常需要定时执行一些任务,例如:定时更新汇总数据,定时更新状态数据等,目前 Treesoft数据库管理系统 增加[定时任务]功能,直接通过页面简单配置,即可按调度规则定时执行SQL任务 ...

  7. before(),after(),prepend(),append()等新DOM方法简介

    一.DOM API也在不断升级 web前端标准一直在不断升级,比方说,说了很多年的HTML5.CSS3,以及天天见的ES6. 然后,似乎就没有然后了.实际上,除了HTML5/CSS3/ES6+,关于D ...

  8. win8.1 pro-64位下安装配置MinGW—64位

    1.下载MinGW-w64位:http://mingw-w64.org/doku.php 点击Downloads 说明:这边使用的是在线安装方式: 在网站里可以看到他安装后的文件夹: 2.安装 运行m ...

  9. 使用vue+webpack打包时,去掉资源前缀

    在build文件夹下找到webpack.prod.conf.js文件,搜索 filename: utils.assetsPath('css/[name].[contenthash].css'), 将[ ...

  10. SQL Server 数据库差异 查询

    -- 比较两个数据库中表的差异 -- u表,p存储过程,v视图 -- INTFSIMSNEW新库,INTFSIMS旧库 SELECT NTABLE = A.NAME, OTABLE = B.NAME ...