数据库管理-第五十七期 多灾多难(20230218)

news2024/11/15 13:36:07

数据库管理 2023-02-18

  • 第五十七期 多灾多难
    • 1 网络震荡
    • 2 挂一大片
    • 3 恢复虚拟机
    • 总结

第五十七期 多灾多难

2月第三周,怎么说呢,多灾多难的一周,一周两次严重故障,而且事情还都发生在24小时之内,

1 网络震荡

本周四一大早显示一个业务说很多服务器连不到数据库了,我看了看PGA占用确实快满了,但也仅仅是快满了,我自己去测试连接也没有问题,没办法只能将idle非常就的非集群会话都干掉,但也没有明显改善问题,PGA下降也不多,我承认这里有点疑惑性。这里说一下这个业务,数据库在A数据中心,业务服务在B数据中心,两个数据中心有4套100GE总计100GE的链路。而同样布局的也是这家公司开发维护的另一个业务则没有出现相同的问题。
在还在纠结是哪出问题,业务方项目经理都准备找客户背书的时候,另一个业务也爆出了问题,这个业务则是业务服务在A数据中心,数据库在B数据中心。通过EM的ASH分析看到了下面的内容:
在这里插入图片描述
数据库本身运行并未太多异常等待,但是出现了大量的SQL*Net More data from client等待,加上这个业务服务在B数据中心的部分并没有出现问题,这里就基本能够确定应该是网络出现了异常。随即反馈网络工程师进行排查,一开始还说没啥告警应该没问题,紧接着就说有一条100GE的链路震荡了在闪断,在链路恢复前暂时屏蔽了这条链路,随即业务均恢复正常,前前后后大概处理了半小时。
其实这次故障不算小,影响了一线业务展开,也影响了各类流程、工单流转,但是好在时间不长,也不是全受影响(其中我的那套备库同步就没有受到影响),所以总体来说还好。

2 挂一大片

本以为本周的“大事”就此过去,结果星期五凌晨在B数据中心就出现了一台EMC unity存储,两个存储控制器同时挂掉的问题,我也是睡下没多久,就接到硬件维护的电话,打开手机看到了灾备数据库实例都挂掉的告警信息。因为我那套备库ASM只有部分使用了这台存储,且集群运行也并未在这台存储上,所以GI没挂DB挂了,又因为是备库,因此不影响我这边(要不然就需要failover了)。
然后就是这套存储还承载了两套虚拟化集群,包括我管理B数据中心Oracle数据库的一套运行EM的虚拟机。因为不知道恢复时间,加上故障处理群一直有消息,所以睡得不是很好。第二天一大早还陪媳妇儿去了趟医院,到了午后存储才恢复了单边控制器,而我这边数据库在刷了半个小时链路后才识别完所有LUN,才把数据库起起来,ADG的好处是,备库故障时,主库的归档日志仍然保留不会因备份delete input删除,在备库恢复后,所有的需要的介质恢复都会从主库同步过来,所以这套备库的恢复还是顺利的,只不过花了不少时间同步主库日志并应用(虽然中间存储又波动了一次,DB又挂掉重新扫盘启动,但是并没有太大问题)。

3 恢复虚拟机

其实虚拟化这块操作系统的启动倒是出了很多问题,以我那台EM虚拟机为例,操作系统能正常启动,但是数据盘启动自动挂载后就会掉盘,umount -f再mount后问题依旧,尝试重启也没有恢复。查看系统日志发现这块逻辑卷的xfs出现了异常,无法进行IO操作。因此尝试进行xfs_repaire:
在这里插入图片描述
根据ERROR反馈执行:

mount /u01
umount /u01
xfs_repaire /dev/mapper/u01-u01
##成功完成修复
mount /u01
##挂载后无异常

在重启数据库的时候又出现另一个问题:

ORA-00214: control file '/u01/app/oracle/oradata/omsdb/controlfile/control01xxx' version N inconsistent with
file '/u01/app/oracle/fast_recover_area/oms/controlfile/control02xxx' version n

两个控制文件版本(SCN)不一致,通过相互覆盖的方式尝试mount数据库仍然出现ORA-600的报错无法启动,也就说明两个控制文件都不是最新的,因此只能通过语句重建control file:

STARTUP NOMOUNT

##摘自19c官方文档(少量修改)
CREATE CONTROLFILE REUSE DATABASE "omsdb" NORESETLOGS NOARCHIVELOG
    MAXLOGFILES 32
    MAXLOGMEMBERS 3
    MAXDATAFILES 1024
    MAXINSTANCES 1
    MAXLOGHISTORY 1024
LOGFILE ##需要所有
  GROUP 1 '/u01/app/oracle/oradata/omsdb/onlinelog/redo01.log'  SIZE 1g,
  GROUP 1 '/u01/app/oracle/oradata/omsdb/onlinelog/redo02.log'  SIZE 1g,
  GROUP 1 '/u01/app/oracle/oradata/omsdb/onlinelog/redo03.log'  SIZE 1g
# STANDBY LOGFILE
DATAFILE #需要填写所有数据文件,不需要临时文件
  '/u01/app/oracle/oradata/omsdb/datafiles/system01.dbf',
  '/u01/app/oracle/oradata/omsdb/datafiles/sysaux01.dbf',
  '/u01/app/oracle/oradata/omsdb/datafiles/mgmt01.dbf',
  '/u01/app/oracle/oradata/omsdb/datafiles/sysman01.dbf'
  ...
CHARACTER SET AL32UTF8
;

alter database mount;

这里数据库是可以mount的,但是在open的时候又出现了ORA-01113 file xxx needs media recovery,通过recover database成功恢复数据库并启动(如果recover操作出现问题,可能就需要不完全恢复了,还好这只是个监控数据库,丢数据没啥问题)。

当然,我觉得我这台虚拟机恢复还算是简单的了,客户那边并没有操作系统方面的专门维护人员,都是硬件维护兼任的,两个虚拟化集群的大量机器大多数都或多或少出现了一些异常,比如引导故障、磁盘(逻辑卷)只读、权限问题等等,因此我们也借调了以为Linux工程师(红帽授权那种)到现场协助进程处理,大大加快了恢复进程。

总结

算是熬了一天,虽然睡了很久,还是头疼。
老规矩,知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/355744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不要让GPT成为你通向“学业作弊”的捷径——使用GPT检测工具来帮助你保持正确的方向

不要让GPT成为你通向“学业作弊”的捷径——使用GPT检测工具来帮助你保持正确的方向 最近,多所美国高校以及香港大学等都明确禁止在校使用ChatGPT等智能文本生成工具。GPT(Generative Pre-trained Transformer)是一种自然语言处理技术&#x…

04 C++提高编程

文件基本上是黑马程序员的文档,部分添加自己需要的内容,仅用于自己学习!链接:黑马程序视频课程GitHub:源代码 C提高编程 本阶段主要针对C泛型编程和STL技术做详细讲解,探讨C更深层的使用 1 模板 1.1 模板的概念 模…

spring的注解

Spring的常用注解常用注解EnableWebMvcConfigurationBeanSpringBootApplication && MapperScanControllerResponseBodyRestControllerRequestMapping("robot")ResourceRequestMappingService常用注解 EnableWebMvc 在配置类中开启Web MVC的配置支持。 Con…

力扣62.不同路径

文章目录力扣62.不同路径题目描述方法1:暴力深搜(超时未通过)方法2:动态规划力扣62.不同路径 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器…

[安装] Dell电脑安装系统时看不到固态硬盘的解决方案

前言如图,配备NVME固态硬盘的机器在重新安装时候没有看到固态硬盘。这其实是由于安装镜像缺少IRST驱动导致的。1.硬盘模式设置为AHCI大多数戴尔机器出厂BIOS默认硬盘模式为Raid On而非AHCI,WIN10纯净版镜像中自带NVME驱动,可以识别AHCI模式下…

台积电后悔莫及,美国没有将它当成自己人,大陆市场重要性凸显

台积电对于赴美设厂可谓变了再变,日前台积电创始人张忠谋就发声指美国“美国认为他可以通钱来快速进入芯片市场,这太天真了”,这是在台积电获得美国的补贴少得可怜之后的表态,凸显出对美国的不满。台积电对于赴美设厂一开始出现截…

postman教程

一、前言 1、postman 是什么 postman 是一款 HTTP 客户端工具,它可以用来调试和测试接口。通过 HTTP 协议,将请求数据发送到服务端,并从服务端获取响应数据。 2、为什么要使用 postman 后端开发者写的代码在大多数情况下是要给到前端开发…

day46【代码随想录】动态规划之打家劫舍 III、买卖股票的最佳时机、买卖股票的最佳时机II

文章目录前言一、打家劫舍 III(力扣337)【较难】二、买卖股票的最佳时机(力扣121)三、买卖股票的最佳时机II(力扣122)前言 1、打家劫舍 III 2、买卖股票的最佳时机 3、买卖股票的最佳时机II 一、打家劫舍 …

C++——二叉树进阶oj题

目录二叉树创建字符串二叉树的分层遍历1二叉树的分层遍历2给定一个二叉树, 找到该树中两个指定节点的最近公共祖先二叉树搜索树转换成排序双向链表。根据一棵树的中序遍历与后序遍历构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树二叉树创建字符串 题目链接 思路&#x…

Python 之 Matplotlib 散点图、箱线图和词云图

文章目录一、散点图1. scatter() 函数2. 设置图标大小3. 自定义点的颜色和透明度4. 可以选择不同的颜色条,配合 cmap 参数5. cmap 的分类5.1 Sequential colormaps:连续化色图5.2 Diverging colormaps:两端发散的色图 .5.3 Qualitative color…

Python获取zabbix问题触发器

背景:阿里云的ECS服务器因为阿里云升级插件,导致安全防护程序重启,产生不同的端口。导致低自动发现注册的端口 大量报警。 解决:杀掉关于因为非业务 变更的端口检测的触发器。 相关文档: Zabbix监控之主机端口监控自…

3. 投票 案例项目(合集)

3.投票-1创建项目和子应用 创建项目 命令$ python django-admin startproject mysite 目录结构mysite/ # 项目容器、可任意命名manage.py # 命令行工具mysite/ # 纯 Python 包 # 你引用任何东西都要用到它__init__.py # 空文件 告诉Python这…

面试官让你说说react状态管理?

hooks 为什么不能放在条件判断里 以 setState 为例,在 react 内部,每个组件(Fiber)的 hooks 都是以链表的形式存在 memoizeState 属性中 update 阶段,每次调用 setState,链表就会执行 next 向后移动一步。如果将 setState 写在条…

7-Zip压缩文件如何设置和清除密码?

7-zip拥有极高的压缩比,压缩比要比普通ZIP文件高30-50%,也是很多人选用的压缩格式。和其他压缩文件一样,7-Zip也可以设置密码保护,今天就来说说如何设置和清除7-Zip压缩包的密码。 首先,我们可以通过软件应用商店直接…

代码随想录算法训练营第三十四天 | 860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球

一、参考资料柠檬水找零https://programmercarl.com/0860.%E6%9F%A0%E6%AA%AC%E6%B0%B4%E6%89%BE%E9%9B%B6.html 根据身高重建队列 https://programmercarl.com/0406.%E6%A0%B9%E6%8D%AE%E8%BA%AB%E9%AB%98%E9%87%8D%E5%BB%BA%E9%98%9F%E5%88%97.html 用最少数量的箭引爆气球ht…

【Redis】Redis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )

文章目录一、哈希 Hash 键值对集合二、查询操作1、Redis 中查询 Hash 键值对数据2、查询 Hash 键是否存在3、查询 Hash 中所有的键 Field4、查询 Hash 中所有的值三、增加操作1、Redis 中插入 Hash 键值对数据2、批量插入 Hash 键值对数据四、修改操作1、Hash 中 Field 键对应值…

2|数据挖掘|聚类分析|k-means/k-均值算法

k-means算法k-means算法,也被称为k-平均或k-均值,是一种得到最广泛应用的聚类算法。算法首先随机选择k个对象,每个对象初始地代表了一个簇的平均值或中心。对剩余的每个对象根据其与各个簇中心的距离,将它赋给最近的簇。然后重新计…

XSS-labs-master

XSS 经典14关这边先说一下常用的弹窗手法<script>alert(1)</script> <script>confirm(1)</script> <script>alert(1)</script> <script>alert(/1/zyl)</script> <script>alert(document.cookie)</script> <scr…

Framework学习之旅:Zygote进程

概述 在Android系统中&#xff0c;DVM(Dalvik 虚拟机和ART、应用程序进程以及运行系统的关键服务SystemServer进程都是由Zygote进程来创建的。通过fork&#xff08;复制进程&#xff09;的形式来创建应用程进程和SystemServer进程&#xff0c;由于Zygote进程在启动时会创建DVM…

目标检测综述(一份全的自制PPT): 涵盖各种模型简介对比,适合入门和了解目标检测现状

[TOC](目标检测综述(一份全的自制PPT): 涵盖各种模型简介对比&#xff0c;适合入门和了解目标检测现状) 注&#xff1a;本文仅供学习&#xff0c;未经同意勿转。分享的PPT请勿二次传播&#xff0c;或者用于其他商用途径。若使用本文PPT请注明来源&#xff0c;感谢配合 前言&…