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

这篇具有很好参考价值的文章主要介绍了数据库管理-第七十九期 儿童节惊魂(20230601)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第七十九期 儿童节惊魂

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

1 主板挂了?

这是我们公司另一个地方的项目,之前我跑的前期沟通和部分数据库环境的搭建工作,虽然2年多没去过难了,但是整体来说那边的客户对我的感官还蛮好的(当然中间还是远程处理过故障滴)。今天这通电话就是那边项目经理打来,原来是那边X8M的一个计算节点莫名其妙的挂了,操作系统没起起来,随即远程过去看。
首先,挂掉的节点ilom还能登上去,过去就发现一些问题:
数据库管理-第七十九期 儿童节惊魂(20230601)
通过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节点的一些异常(这里通过我的虚拟机做了个模拟展示):
数据库管理-第七十九期 儿童节惊魂(20230601)
让我隐约感觉到这个/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中配置的问题,可能有人觉得是不是配错了,这里我给大家一个配置文件的原始截图:
数据库管理-第七十九期 儿童节惊魂(20230601)
(这里的multi on是因为要不通过DNS配置IPv4和IPv6双栈运行,是专门开SR咨询过是可以修改的)
而reorder这行也是专门写了不要进行修改。翻看Linux的相关文档:
数据库管理-第七十九期 儿童节惊魂(20230601)
这个参数的值只允许为on和off,加上配置文件详细写明了不要更改内容。前任DBA也是有OCM的人,这两件事情加在一起不得不让我怀疑这是不是故意的。

总结

也许是我小人之心度君子之腹了,但是有些事情以前就看破过,说破过,真的不好说了。
本次处理呢有很多东西没来得及截图也不方便截图,处理过程一些波折也经过了简化。
老规矩,知道写了些啥。文章来源地址https://www.toymoban.com/news/detail-468082.html

到了这里,关于数据库管理-第七十九期 儿童节惊魂(20230601)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【七天入门数据库】第七天 MySQL的事务管理

    【七天入门数据库】第一天 MySQL的安装部署 【七天入门数据库】第二天 数据库理论基础 【七天入门数据库】第三天 MySQL的库表操作 【七天入门数据库】第四天 数据操作语言DML 【七天入门数据库】第五天 MySQL的备份恢复 【七天入门数据库】第六天 MySQL的视图与索引 【七天

    2024年02月15日
    浏览(41)
  • 小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)2

      拉到最后选择构建后操作 拉到最后点击保存   访问192.168.77.19:8080/probe 账户密码都是tomcat  

    2023年08月27日
    浏览(43)
  • 第七十五回:Flutter中的包管理

    我们在上一章回中介绍了主题相关的内容,本章回中将介绍 Flutter包管理 .闲话休提,让我们一起Talk Flutter吧。 在移动开发中会使用各种各样的包,比如Android开发中用于网络操作的Okhttp包,包太多了就需要做统一的布署和管理,不然会让项目混乱不堪。 Android早期使用Ant进行

    2024年02月12日
    浏览(35)
  • 【数据库复习】第七章 数据库设计

    数据库设计的过程(六个阶段) ⒈需求分析阶段 准确了解与分析用户需求(包括数据与处理) 最困难、最耗费时间的一步 ⒉概念结构设计阶段 整个数据库设计的关键 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 ⒊逻辑结构设计阶段 将概念结构

    2024年02月08日
    浏览(39)
  • 【MySQL数据库 | 第十九篇】SQL性能分析工具

    目录   前言: SQL执行频率: 慢查询日志: profile: profile各个指令: 总结:         本篇我们将为大家讲解SQL性能的分析工具,而只有熟练的掌握了性能分析的工具,才可以更好的对SQL语句进行优化。虽然我们在自己练习的时候对这种优化感知并不明显,但是如果我们要

    2024年02月09日
    浏览(36)
  • 数据库系统概念 第七版 中文答案 第3章 SQL介绍

      a. 查找计算机科学系中学分为3的课程的标题。 b. 查找所有由名为Einstein的教师教授的学生的ID;确保结果中没有重复项。 c. 查找任何教师的最高工资。 d. 查找所有薪水最高的教师(可能有多个薪水相同的教师)。 e. 查找在2017年秋季开设的每个课程部分的注册人数。 f. 查

    2024年01月22日
    浏览(38)
  • 数据库系统概念 第七版 中文答案 第2章 关系模型介绍

    2.1 考虑图 2.17 中的员工数据库。 这些关系上适当的主码是什么 ? Answer: 相应的主键如下所示: 2.2 考虑从 instructor 的 dept_name 属性到   department 关系的 外键约束 。 请给出对这些关系的插入和删除的示例,使得它们破坏该外码约束。 Answer: 插入元组: (10111,   Ostrom, Econ omics,  

    2024年02月02日
    浏览(30)
  • 【送书福利-第十九期】《C++ Core Guidelines解析》

    😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文收录于洲洲的《送书福利》系列专栏,该专栏福利多多

    2024年02月08日
    浏览(33)
  • 智能化软件开发微访谈·第十九期暨2022新年特辑:软件智能化开发:进展与挑战...

    CodeWisdom 智能化软件开发沙龙是复旦大学CodeWisdom团队参与组织的专注于代码大数据与智能化软件开发的学术和技术沙龙,面向相关领域的学术界研究者和工业界实践者,通过各种线上和线下交流活动促进学术研究与实践技术的发展。微访谈是智能化软件开发沙龙依托沙龙微信

    2024年02月05日
    浏览(33)
  • 【数据库管理】②实例管理及数据库启动关闭

    用于管理和访问 database. instance 在启动阶段读取初始化参数文件(init parameter files). (parameter file)文本初始化参数文件 -- 静态参数文件. 1)文本文件,必须通过编辑器修改参数. 2)修改参数下次重启实例才生效. 3)pfile参数文件可以不在database server上. 命名方式: init+SID.ora (system paramet

    2023年04月08日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包