数据库管理-第七十九期 儿童节惊魂(20230601)

news2024/11/26 15:01:22

数据库管理 2023-06-01

  • 第七十九期 儿童节惊魂
    • 1 主板挂了?
    • 2 时间同步
    • 3 数据库参数
    • 4 ACFS
    • 5 两个错误
    • 总结

第七十九期 儿童节惊魂

6月第一天,又是儿童节,加上客户现场来了不少娃,也有一些客户家里有娃去参加活动了,所以整体的氛围是十分轻松惬意的。然鹅,一通电话打破了这一份来之不易的平静。

1 主板挂了?

这是我们公司另一个地方的项目,之前我跑的前期沟通和部分数据库环境的搭建工作,虽然2年多没去过难了,但是整体来说那边的客户对我的感官还蛮好的(当然中间还是远程处理过故障滴)。今天这通电话就是那边项目经理打来,原来是那边X8M的一个计算节点莫名其妙的挂了,操作系统没起起来,随即远程过去看。
首先,挂掉的节点ilom还能登上去,过去就发现一些问题:
在这里插入图片描述
通过show /System/Open_problems命令可以看到MB(主板)和P0、P1(CPU)都有报错,两个CPU同时坏的的可能性很低,因此这里大概率是主板有问题。紧接着通过show faulty命令查看详细信息(内容有点多这里就不展示了),发现是异常重启后主板无法加电。
根据一般的标准解决方案,是先清理告警再尝试重启,不行再说换硬件的事情,下面是在ilom中如何清理告警:

start /SP/faultmgmt/shell/ #进入故障管理工具后台
faultmgmtsp>
	fmadm faulty #查询所有告警
	fmadm repaire fault_UUID #这里需要通过执行清理上面所有告警的UUID
	exit
reset /SP/ #重启节点	

这里断电重启节点之后操作系统仍然没起起来,faulty倒是没有再次生成,机房管理也终于到了机房,发现这个计算节点只有ilom灯亮了,其余的系统灯、硬盘灯一个没亮,主板还是没有加电。硬件维保厂商也上线了,说可能需要拔电源线并等待放电一段时间后重启,由于机房管理不敢操作,只能等待硬件维保厂商人员到场。到了中午,硬件维保厂商工程师进入了机房,拔电放电重启后,操作系统果然起来了,接着就是他们检查下硬件收收日志回头看看到底发生了啥。
你以为这就完了?还早呢,现场数据库维护发现节点数据库没起起来,因此在我午觉的时候又把我吵醒了远程去查看。

2 时间同步

通过crsctl check crs检查,发现Cluster Ready Services没起起来,用下面命令尝试重启crs并监控日志:

su - root
/u01/app/19.0.0.0/grid/bin/crsctl stop crs -f
/u01/app/19.0.0.0/grid/bin/crsctl start crs
tail -f /u01/app/grid/diag/crs/HOSTNAME/crs/alert/log.xml

在查看日志的过程中发现是两个计算节点的时间差距很大造成CRS启动失败。检查时间同步服务,发现出其余节点(计算和存储节点)都是通过出故障这个节点进行时间同步,而这个节点又是通过外部时间同步服务器进行时间同步,然而以前配置的时间同步服务器(自建的)已经回收,现在改用硬件时间同步设备,因此将两个计算节点全部调整至外部硬件时钟设备,存储节点由于网络问题设置到两个计算节点同步时间。
处理完成后再次:

su - root
/u01/app/19.0.0.0/grid/bin/crsctl stop crs -f
/u01/app/19.0.0.0/grid/bin/crsctl start crs

这里CRS就起起来了,然鹅还是有问题。

3 数据库参数

CRS起起来了,但是ACFS和DB没有起来,ACFS放在后面,毕竟只用于做部分重要表的离线备份,DB才是最重要的。

startup nomount
alter database mount;
-- 结果出现了以下报错
ORA-01105: mount is incompatible with mounts by other instances
ORA-01677: standby file name convert parameters differ from other instance

检查节点参数发现:

--节点2(正常节点):
SQL> show parameter file_name_convert

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
log_file_name_convert                string
pdb_file_name_convert                string

--节点1(故障节点):
SQL> show parameter file_name_convert

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string      'dbdg','db'
log_file_name_convert                string      'dbdg','db'
pdb_file_name_convert                string

create pfile='/home/oracle/initdb0601.ora' from spfile;

检查spfile内容发现db_file_name_convert和log_file_name_convert参数都是配置过的,这就很奇怪了,运行实例为啥值为空,只能判断为前任DBA做了配置,但是没有重启数据库,也因此造成了这次实例无法启动。(其实数据库配置了OMF,在ADG环境是不需要配置convert参数的,这套ADG我以前搭的时候是没有配置这两个参数,但是有些DBA总觉得这个参数是必须的)。

alter system reset db_file_name_convert scope=spfile sid='*';
alter system reset log_file_name_convert scope=spfile sid='*';

shut immediate
startup --这里就能正常启动了

--不要尝试直接将db_file_name_convert和log_file_name_convert直接设为空:
alter system set db_file_name_convert='' scope=spfile sid='*';

ORA-01678: parameter string must be pairs of pattern and replacement strings
--convert参数必须是每两个为一组一一对应的

4 ACFS

本来ACFS起不起来都不是啥大事,但是奈何业务需要对重要表进行离线备份,再说了日常巡检挂着看着也不舒服。经过基本检查发现ACFS模块没有启动起来,因此需要启动,但是出现了以下的问题:

su -
/u01/app/19.0.0.0/grid/bin/acfsload start
sh: -c: line 0: unexpected EOF while Looking for maching ``'
sh: -c: line 1: syntax error: unexpected end of file

这个报错就有点莫名其妙了,结合之前通过主机名ping节点的一些异常(这里通过我的虚拟机做了个模拟展示):
在这里插入图片描述
让我隐约感觉到这个/etc/host.conf中有些异常,进去一看果然发现里面有一行reorder hosts,bind,也是报错的内容,注释掉之后再次启动acfs模块:

su -
/u01/app/19.0.0.0/grid/bin/acfsload start
#这次是正常启动了

当然到这里还没完:

su - grid
srvctl start asm -proxy #启动ora.proxy_advm
asmcmd volenable -G DATAC1 ACFSVOL01 #启动ACFS卷

su -
mount.acfs -o all #挂载所有ACFS卷

没有报错,ACFS也正常挂载。至此,故障处理完成,当然还是要等硬件侧的日志分析。

5 两个错误

这件事情中有两个很奇怪的问题,第一个就是修改了需要重启生效的参数但没有重启数据库,这个我可以判定为前任DBA的疏忽,但是总归是不专业的表现。
第二个则是/etc/host.conf中配置的问题,可能有人觉得是不是配错了,这里我给大家一个配置文件的原始截图:
在这里插入图片描述
(这里的multi on是因为要不通过DNS配置IPv4和IPv6双栈运行,是专门开SR咨询过是可以修改的)
而reorder这行也是专门写了不要进行修改。翻看Linux的相关文档:
在这里插入图片描述
这个参数的值只允许为on和off,加上配置文件详细写明了不要更改内容。前任DBA也是有OCM的人,这两件事情加在一起不得不让我怀疑这是不是故意的。

总结

也许是我小人之心度君子之腹了,但是有些事情以前就看破过,说破过,真的不好说了。
本次处理呢有很多东西没来得及截图也不方便截图,处理过程一些波折也经过了简化。
老规矩,知道写了些啥。

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

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

相关文章

EMC学习笔记(一)PCB电路板层的设置

EMC学习笔记(一)PCB电路板层的设置 1.概述2.合理的层数2.1 VCC、GND的层数2.2信号层数 3.单板的性能指标与成本要求4.电源层、地层、信号层的相对位置4.1 VCC\GND平面的阻抗以及电源、地之间的EMC环境问题4.2 VCC、GND作为参考平面,两者的作用…

OneNav Extend网址导航书签系统源码开源版

简介: OneNav Extend 是一款开源免费的书签(导航)管理程序,使用PHP SQLite 3开发,界面简洁,安装简单,使用方便。 OneNav可帮助你你将浏览器书签集中式管理,解决跨设备、跨平台、跨…

10.Ansible Loops介绍

Ansible Loops是什么?以及实际例子 就是循环语句。让我们看看这个创建Playbook的示例。要使用用户模块在系统中创建用户,在本例中, 我们只创建一个用户。但是如果我们有多个用户呢? name: Create users hosts: localhost tasks:- user: name g…

城市二次供水设备远程监控解决方案

城市二次供水设备远程监控解决方案 一、项目背景 近年来,随着我国城市日新月异的发展,新建商场和小区高层逐渐的增多,需要二次供水的楼盘也在逐渐增多。二次供水模式成了城市普遍的供水模式,当前普遍采用传统供水方式存在着供水水源、加压供…

Sentinel怎么使用和控制台讲解

Sentinel 基础 官网 1 Github: https://github.com/alibaba/Sentinel 2 快速开始: https://sentinelguard.io/zh-cn/docs/quick-start.html 3 中文: https://github.com/alibaba/Sentinel/wiki/介绍 4 使用手册: https://spring-cloud-alibaba-group.github.io/github-pag…

LNMP搭建过程详解,验证搭建论坛

LNMP搭建过程详解,验证搭建论坛 一、安装Nginx服务1、安装依赖包2、创建运行用户3、编译安装4、优化路径5、添加Nginx 系统服务 二、安装MySQL服务1、安装Mysql环境依赖包2、创建运行用户3、编译安装4、修改mysql配置文件5、更改mysql安装目录和配置文件的属主属组6…

【C/C++】基础知识之输入输出流

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

C#高级控件

大家好&#xff0c;我是华山自控编程朱老师 前几天一个学员在学习C#与高级控件交互时,也不知道高级控件可以用来做什么 。下面我们就详细讲讲C# 和高级控件交互的相关知识。 C#是一种功能丰富的面向对象编程语言&#xff0c;它包含了许多高级控件&#xff0c;如ListView和Tre…

改进YOLOv5系列:结合CVPR2021:多头注意力Efficient Multi-Head Self-Attention

Efficient Multi-Head Self-Attention Efficient注意力介绍代码common代码yaml文件参数结果论文: ResT: An Efficient Transformer for Visual Recognition Efficient注意力介绍 本文提出了一个高效的多尺度视觉变换器,称为ResT,它可以作为图像识别的通用支柱。可以作为图像…

LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS (Paper reading) Edward H, Microsoft, arXiv2021, Cited: 354, Code, Paper 1. 前言 自然语言处理的一个重要范式是在通用领域数据上进行大规模预训练&#xff0c;然后根据特定任务或领域进行适应性训练。随着我们对模…

Hightopo 使用心得(2)- 2D 图纸 GraphView,节点 Node, 连线 Edge,与基本动画 ht.Default.startAnim()

概括来说&#xff0c;用 HT for Web 做可视化主要分为两部分&#xff0c;也就是 2D 和 3D。这两部分需要单独创建。在它们被创建完成后&#xff0c;我们再把它们集成到一起。 HT for Web 的 2D 部分主要是指 ht.graph.GraphView (简称 GraphView&#xff0c;也就是 2D 图纸)。…

匿名管道通信

目录 一、进程通信原理 二、什么是管道 三、创建一个匿名管道 四、fork共享管道的原理 五、管道的特点 六、4中场景 一、进程通信原理 我们知道进程间相互独立&#xff0c;具有独立性。那么我们要实现两个进程之间的通信就需要&#xff0c;让这两个进程看到同一个文件。然…

设计模式-访问者模式

访问者模式 问题背景解决方案&#xff1a;传统方案 访问者模式基本介绍原理UML类图 使用访问者模式解决问题UML类图示例代码运行结果 注意事项和细节 问题背景 我们来制作一台电脑&#xff0c;他的硬件有CPU和磁盘&#xff0c;CPU和磁盘类都有一个常量作为他们各自的数据&…

java企业级信息系统开发学习笔记10 利用MyBatis实现关联查询

文章目录 一、学习目标&#xff08;一&#xff09;针对三张表关联查询&#xff08;二&#xff09;按班级编号查询班级信息&#xff08;三&#xff09;查询全部班级信息 二、创建数据库&#xff08;一&#xff09;创建教师表&#xff08;二&#xff09;创建班级表&#xff08;三…

Linux系统搭建Java的运行环境

目录 JDKTomcatMySQL JDK 对于Linux安装JDK有很多方法~ 这里就掌握最简单的办法—基于yum来进行安装~ yum是“包管理器”&#xff0c;相当于应用商店~ 首先&#xff0c;先搜索一下&#xff0c;看看yum上关于jdk有没有&#xff0c;以及叫啥名字~ 通过 yum list命令&#xff0…

六一亲子嘉年华 | 来迅镭激光过一个五彩缤纷的儿童节!

童年是梦&#xff0c;如七彩的画卷&#xff1b; 童年是诗&#xff0c;如璀璨的星空&#xff1b; 童年是歌&#xff0c;如跳跃的音符&#xff01; 在“六一”儿童节到来之际 为给员工及子女创造一个难忘的亲子时光 迅镭激光开展了六一亲子嘉年华主题活动 让孩子们在迅镭大家庭的…

Minigpt4实战搭建

简介 Minigpt4虽然放出了网页版但是使用后发现网页体验的话&#xff0c;由于并发量比较大&#xff0c;很容易突然卡顿的现象&#xff0c;所以下面我主要讲解一下如何进行本地部署。 之前文章已经介绍过Minigpt4了这里就不重复赘述了&#xff0c;不了解的可以去看看https://bl…

使用python开发“魂斗罗”游戏

使用python开发“魂斗罗”游戏 开发完整的魂斗罗&#xff08;Contra&#xff09;游戏是一个庞大的任务&#xff0c;它涉及到图形渲染、物理碰撞、敌人AI、游戏关卡等多个方面。在这个简短的交互中&#xff0c;我将向你展示一个基本的魂斗罗风格的游戏框架&#xff0c;你可以在此…

结构化文档发布的故事和性能调优

前阵子一个TW朋友跟我抱怨他们的文档发布很慢。正常发布需要一个晚上才能完成发布。中间如果出点错&#xff0c;就得重新发布&#xff0c;那么中间是漫长的等待。 不像MS Word或者InDesign这样所见即所得的软件&#xff0c;结构化文档源文件是XML格式的&#xff0c;就像计算机…

C语言——数据在内存中的存储(下)

数据在内存中的存储&#xff08;下&#xff09; 1. 浮点数在内存中的存储 浮点数家族&#xff1a; float double long double 浮点数的表示范围&#xff1a; 这里要引用float.h头文件 【实例一】 //输出结果是什么&#xff1f; int main() {int n 9;float *pFloat (float…