Oracle Exadata X7-2掉电宕机导致集群无法启动处理过程

本文主要是介绍Oracle Exadata X7-2掉电宕机导致集群无法启动处理过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、当前的状态是什么?
  • 二、集群启动异常怀疑对象
    • 1.排查心跳网络异常
      • ping自己私有IP延迟高
      • ping其它主机私有IP不通
    • 2.是否发生过重启
  • 三、日志信息收集
    • ocssd.trc
    • 集群crs日志
    • cell的griddisk状态及报错
  • 四、IB交换机的问题排查处理
  • 五、紧急恢复业务
    • 在IB完成正常重启后,重新启动所有cell服务
    • 拉起集群:
  • 六、收尾工作
    • check修复第二台IB交换机
    • 重新挂载nfs共享目录
    • 检查PDU,确实已掉电
  • 七、原因调查
    • PDU问题由于29日晚操作切电操作导致UPS路跳闸
    • 主机等log显示电源切换
    • 29日有检测到FAN0风扇数值是0
  • 总结


前言

客户突然联系说应用无法连接数据库,报错如下:

[ERROR]-[Thread: Druid-ConnectionPool-Create-26728049]-[com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run()]: create connection error, url: jdbc:oracle:thin:@x.x.x.93:1521:empdb011, errorCode 17002, state 08006
java.sql.SQLRecoverableException: IO 错误: The Network Adapter could not establish the connectionat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:774)at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39)at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:148)at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:220)at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:142)at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:785)at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:142)at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1463)at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1525)at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2100)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connectionat oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:523)at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:521)at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:660)at oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1438)at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:518)... 11 more
Caused by: java.io.IOException: Connection timed out: connect, socket connect lapse 20998 ms. /x.x.x.93 1521 0 1 trueat ora

一、当前的状态是什么?

集群状态宕掉了,且无法正常启动!!!
在这里插入图片描述
在这里插入图片描述

二、集群启动异常怀疑对象

1.排查心跳网络异常

ping自己私有IP延迟高

在这里插入图片描述

ping其它主机私有IP不通

在这里插入图片描述
那么问题定位到私有IP不通导致的集群无法启动,一体机内部私有IP交互是通过自身的IB交换机完成的,很有可能是IB交换机问题,下面进行日志查询取证。

2.是否发生过重启

每台机器都发生过重启,明显掉电情况
在这里插入图片描述

三、日志信息收集

ocssd.trc

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集群crs日志

在这里插入图片描述

cell的griddisk状态及报错

在这里插入图片描述
尝试启动:
在这里插入图片描述
那么排查到这里可以断定,是由于上层问题导致的griddisk不正常无法拉起集群,此处上层的IB交换机就成为重要排查对象。

四、IB交换机的问题排查处理

通过融合IP登入ilom管理网页失败,只能通过ssh
在这里插入图片描述
在这里插入图片描述
登入后看到明显的提示,尝试boot重启失败:
在这里插入图片描述
在这里插入图片描述
还发现掉了一个PDU,进行确认私有IP通信正常

五、紧急恢复业务

在IB完成正常重启后,重新启动所有cell服务

在这里插入图片描述
在这里插入图片描述

拉起集群:

在这里插入图片描述

六、收尾工作

check修复第二台IB交换机

重新挂载nfs共享目录

在这里插入图片描述

检查PDU,确实已掉电

在这里插入图片描述
在这里插入图片描述

七、原因调查

PDU问题由于29日晚操作切电操作导致UPS路跳闸

主机等log显示电源切换

在这里插入图片描述

29日有检测到FAN0风扇数值是0

在这里插入图片描述
但实际风扇只应该显示FAN1~3才对,出现FAN0也是奇怪,有知道朋友可以留言。


总结

通过整体问题梳理,应该是在用过进行切电作业时候导致UPS跳闸,且市电进行切换导致的整个一体机机柜出现了掉电情况,然后服务器重启后,IB交换机自检硬件有问题导致自检失败所有整体的私有IP和以下的集群服务无法正常启动。

这篇关于Oracle Exadata X7-2掉电宕机导致集群无法启动处理过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310489

相关文章

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora