一个dg警告发现的硬件问题 (r6笔记第60天)
今天收到一条报警短信,提示dg似乎出了点问题。信息的来源是从v$dataguard_status里面扫描得到的最新错误。
2015-09-15 22:06:19.0 Log Transport ServicesErrorError 12541 received logging on to the standby
2015-09-15 22:06:19.0 Log Transport ServicesErrorPING[ARC1]: Heartbeat failed to connect to standby 'stest11g'. Error is 12541.
看样子是心跳的检测失败了,看来主库和备库之间的网络可能出现了延迟之类的问题,在最大性能模式下,这个还是能够接受的,当时就没有在意。
等过了一会之后,自己想还是看看到底是怎么回事吧,毕竟别的库就没有保护这样的错误。
连接到备库之后,发现ssh连接是正常的,证明备库还是能够访问的,没有出现备库的宕机问题。
查看实例也存在,但是监听器给停掉了。自己也感觉挺奇怪,监听怎么会自动停掉呢。就手工启动,结果启动就报了下面的错误。
lsnrctl start listener
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 14-SEP-2015 23:27:38
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /DATA/app/oracle/product/11.2.0.4/bin/tnslsnr: please wait...
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe
对于这个问题还是有些陌生,启动监听失败,启动其它的监听也是同样的错误,这个时候还是来看看日志里面是怎么描述的吧。
结果切换到监听日志的路径下,使用ll命令就得到了下面的错误。
$ ll log
ls: reading directory log: Input/output error
total 0
ls: reading directory .: Input/output error
这个错误又陌生了,查看资料显示应该是文件系统出了问题。
怎么 验证呢,使用dmesg来做或者使用MegaCli都可以。
> dmesg|grep sd|less
sd 0:2:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT
sd 0:2:0:0: [sda] CDB: Write(10): 2a 00 13 f4 21 38 00 00 08 00
Buffer I/O error on device sda8, logical block 33423143
lost page write due to I/O error on sda8
end_request: I/O error, dev sda, sector 331257944
Buffer I/O error on device sda8, logical block 32984587
lost page write due to I/O error on sda8
end_request: I/O error, dev sda, sector 303472624
end_request: I/O error, dev sda, sector 628396920
JBD2: Detected IO errors while flushing file data on sda8-8
Aborting journal on device sda8-8.
EXT4-fs error (device sda8) in add_dirent_to_buf: Journal has aborted
EXT4-fs error (device sda8): ext4_journal_start_sb: Detected aborted journal
EXT4-fs (sda8): Remounting filesystem read-only
EXT4-fs error (device sda8) in ext4_reserve_inode_write: Journal has aborted
EXT4-fs error (device sda8) in ext4_reserve_inode_write: Journal has aborted
EXT4-fs error (device sda8) in ext4_reserve_inode_write: Journal has aborted
EXT4-fs error (device sda8) in ext4_reserve_inode_write: Journal has aborted
看来确实是文件系统出了问题,根源还是磁盘损坏导致的IO错误。
这种错误还是比较让人无奈的,只能稍后尝试更换硬盘或者切换到别的环境了,不过所幸的是问题发生在备库。
通过这个案例可以看出,对于dg中的警告信息也不要掉以轻心,很可能一个不经意的ora错误其实已经在警示重大的问题,如果及时关注,就为我们保证数据的安全提供了最快的补救措施。
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(68)-微信公众平台开发- 资源环境准备
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(70)-微信公众平台开发-成为开发者
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(70)-微信公众平台开发-成为开发者
- 一口价!3杂7bc.com16万易主
- Silverlight初级教程-动画
- WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理
- [原创-总结]WCF技术剖析系列总结篇
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-WebApi与Unity注入
- 分布式高并发下mysql数据库读写分离
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-补充WebApi与Unity注入-配置文件
- 身临其境的建筑体验:3D打印和人工智能相结合的“星形胶质细胞”
- C语言真的太强大了,C几乎无处不在!
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(65)-MVC WebApi 用户验证 (1)
- 具有依赖关系的并行操作执行
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 这三年被分布式坑惨了,曝光十大坑
- 为什么删数据也提示空间不足呢?
- 前端踩坑系列《六》——让人又爱又恨的npm包
- docker运行Tomcat后访问首页报404(详细永久解决步骤)
- vue.js如何快速入门第1篇
- 3.列表-HTML基础
- 启动时间的一些分析
- 1.HTML基础知识-HTML进阶
- 浅析一个postgresql的死锁问题
- 你的第一个React App (二 ) - 应用组件开发
- 在Angular应用里使用Redux
- Elasticsearch 日志配置详解
- Cypress系列(52)- fixture() 命令详解
- Docker学习笔记---Dockerfile
- Java面试高频知识点汇总 JVM专题