文章来源:JiekeXu之路 ,作者JiekeXu

内容更多查看:https://www.modb.pro/(复制至浏览器,即可查看)

AIX 操作系统因 MTU 不一致导致主机和 RAC 数据库不断重启,事件就是发生在上周日。操作系统工程师因监控发现有一台主机不断重启,排查硬件后无问题,便将事件转至数据库工程师排查了。当时主机是一套 SVC 存储复制的灾备环境。
RAC 数据库是 11.2.0.4 版本的,操作系统是 AIX 7.1 版本,如下图:

MOS 上说该问题发生在 10.1.0.2 to 11.2.0.2 版本,但我这个库是 11.2.0.4,故记录一下排查过程。

Unable To Start ASM RAC Instances Due To ORA-27303: Remote Port MTU Does Not Match Local MTU. (Doc ID 947223.1)

Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.2 [Release 10.1 to 11.2]

MTU

MTU 是英文 Maximum Transmission Unit 的缩写,意为"最大传输单位",也就是在连接的时候,所传输信息包最多可以有多少字节。我们必须找到不会返回 fragment (碎片)信息的最大 MTU。除了 ADSL PPPoE 的 MTU 是 1492 外其余各种 DSL 的 MTU标准设置都是 1500。MaxMTU 是最大的 TCP/IP 传输单元,在 TCP/IP 协议中,将要传输的数据分成较小的组进行传输,每个组的大小为 576 字节。

AIX 系统错误日志存放路径:/var/adm/ras/errlog 。

errpt –a 列详细信息,详细使用方法可以参考 man。

AIX 系统启动错误日志存放路径:/var/adm/ras/bootlog。

该日志可以跟踪系统在 Boot 过程中发生的问题,包括服务器液晶板上的代码信息都有记载。可以使用 alog 命令监视这些问题, 存放在 /var/adm/ras/bootlog 中,可以使用 alog –o –t boot 命令查看该文件。

问题排查

RAC 的节点二是出现问题的机器,主机每隔五六分钟就会重启,而节点一数据库启动后过几分钟也就宕了,这就十分奇怪了,主机二不断宕机会导致实例一宕机吗?故让我很好奇不断查下去了,以下是节点一的 alert 日志。

Sun Mar 15 19:06:11 2020ALTER SYSTEM SET local_listener=' (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.XX.12)(PORT=1521))' SCOPE=MEMORY SID='test1';ALTER DATABASE MOUNT /* db agent *//* {0:11:33} */This instance was first to mountORA-00210: cannot open the specified control fileORA-00202: control file: '+DATA/test/control02.ctl'ORA-17503: ksfdopn:2 Failed to open file +DATA/test/control02.ctlORA-15001: diskgroup "DATA" does not exist or is not mountedORA-15077: could not locate ASM instance serving a required diskgroupORA-00210: cannot open the specified control fileORA-00202: control file: '+DATA/test/control01.ctl'ORA-17503: ksfdopn:2 Failed to open file +DATA/test/control01.ctlORA-15001: diskgroup "DATA" does not exist or is not mountedORA-15077: could not locate ASM instance serving a required diskgroupORA-205 signalled during: ALTER DATABASE MOUNT /* db agent *//* {0:11:33} */...Sun Mar 15 19:06:12 2020Shutting down instance (abort)

以下是节点二 alert 日志,

Thu Mar 12 23:33:16 2020NOTE: ASMB terminatingErrors in file /app/oracle/diag/rdbms/test/test2/trace/test2_asmb_31457440.trc:ORA-15064: communication failure with ASM instanceORA-03113: end-of-file on communication channelProcess ID: Session ID: 2 Serial number: 1Errors in file /app/oracle/diag/rdbms/test/test2/trace/test2_asmb_31457440.trc:ORA-15064: communication failure with ASM instanceORA-03113: end-of-file on communication channelProcess ID: Session ID: 2 Serial number: 1ASMB (ospid: 31457440): terminating the instance due to error 15064Instance terminated by ASMB, pid = 31457440Sun Mar 15 19:51:34 2020Starting ORACLE instance (normal)LICENSE_MAX_SESSION = 0LICENSE_SESSIONS_WARNING =

这里说一句,怎么查 alert 日志有很多小伙伴们不熟悉数据库便不知道日志位置,那么怎么查呢,登陆数据库查看 dump 参数指定的位置就是告警日志咯!

节点 1 ASM 日志,ORA-27303:additional information: Remote port MTU does not match local MTU. [local: 1500, remote: 9000] (169.254.1XX.XX8)。ORA-27301、ORA-27302、ORA-27303 这里看到主要问题了吧。
继续看一下节点二日志:

GMON started with pid=19, OS id=19857586 Sun Mar 15 18:18:10 2020MMON started with pid=20, OS id=19398838 Sun Mar 15 18:18:10 2020MMNL started with pid=21, OS id=24838354 lmon registered with NM - instance number 1 (internal mem no 0)Reconfiguration started (old inc 0, new inc 10)ASM instance List of instances: 1 2 (myinst: 1)  Global Resource Directory frozen* allocate domain 0, invalid = TRUE KSXP IPC protocol is incompatible with instance 2Errors in file /app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_lmon_24707194.trc:ORA-27300: OS system dependent operation:config_check failed with status: 0ORA-27301: OS failure message: Error 0ORA-27302: failure occurred at: skgxpvalpidORA-27303: additional information: Remote port MTU does not match local MTU. [local: 1500, remote: 9000] (169.254.1XX.XX8)KSXP IPC protocol is incompatible with instance 2Errors in file /app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_lmon_24707194.trc:ORA-27300: OS system dependent operation:config_check failed with status: 0ORA-27301: OS failure message: Error 0ORA-27302: failure occurred at: skgxpvalpidORA-27303: additional information: Remote port MTU does not match local MTU. [local: 1500, remote: 9000] (169.254.1XX.XX8) Communication channels reestablished

节点 2 ASM 日志,ASM 日志存放于 ASM 实例之下,RAC 除了这两种日志外还有集群日志以及集群下的各种进程日志等多种,这个有时间在说。ASM 日志位于 $ORACLE_BASE/diag/asm/+asm/+ASM2/trace 下。

cd $ORACLE_BASE/diag/asm/+asm/+ASM2/tracetail -999f /app/grid/diag/asm/+asm/+ASM2/trace/alert*Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Real Application Clusters and Automatic Storage Management options.ORACLE_HOME = /app/product/11.2.0/gridSystem name:    AIXNode name:      test2Release:        1Version:        7Machine:        00C0A6D84C00Using parameter settings in server-side spfile +OCR/test-cluster/asmparameterfile/registry.253.1004572351System parameters with non-default values:  large_pool_size          = 12M  instance_type            = "asm"  remote_login_passwordfile= "EXCLUSIVE"  asm_diskgroups           = "OCR"  asm_diskgroups           = "ARCH"  asm_diskgroups           = "DATA"  asm_power_limit          = 1  diagnostic_dest          = "/app/grid"Cluster communication is configured to use the following interface(s) for this instance  169.254.1XX.XX8cluster interconnect IPC version:Oracle UDP/IP (generic)IPC Vendor 1 proto 2Sun Mar 15 19:00:30 2020PMON started with pid=2, OS id=22216894 Sun Mar 15 19:00:30 2020PSP0 started with pid=3, OS id=30539926 Sun Mar 15 19:00:31 2020VKTM started with pid=4, OS id=28573718 at elevated priorityVKTM running at (10)millisec precision with DBRM quantum (100)msSun Mar 15 19:00:31 2020GEN0 started with pid=5, OS id=22282482 Sun Mar 15 19:00:31 2020DIAG started with pid=6, OS id=29360284 Sun Mar 15 19:00:31 2020PING started with pid=7, OS id=21889258 Sun Mar 15 19:00:31 2020DIA0 started with pid=8, OS id=21823656 Sun Mar 15 19:00:31 2020LMON started with pid=9, OS id=28180628 Sun Mar 15 19:00:31 2020LMD0 started with pid=10, OS id=29819036 * System load used for high load check * New Low - High Load Threshold Range = [55296 - 73728] Sun Mar 15 19:00:31 2020LMS0 started with pid=11, OS id=30998728 at elevated prioritySun Mar 15 19:00:31 2020LMHB started with pid=12, OS id=27328766 Sun Mar 15 19:00:31 2020MMAN started with pid=13, OS id=22741166 Sun Mar 15 19:00:31 2020DBW0 started with pid=14, OS id=21495954 Sun Mar 15 19:00:31 2020LGWR started with pid=15, OS id=21168264 Sun Mar 15 19:00:31 2020CKPT started with pid=16, OS id=21954804 Sun Mar 15 19:00:31 2020SMON started with pid=17, OS id=30081278 Sun Mar 15 19:00:31 2020RBAL started with pid=18, OS id=27787438 Sun Mar 15 19:00:31 2020GMON started with pid=19, OS id=29425830 Sun Mar 15 19:00:31 2020MMON started with pid=20, OS id=27721860 Sun Mar 15 19:00:31 2020MMNL started with pid=21, OS id=30146734 lmon registered with NM - instance number 2 (internal mem no 1)Reconfiguration started (old inc 0, new inc 4)ASM instance List of instances: 1 2 (myinst: 2)  Global Resource Directory frozen* allocate domain 0, invalid = TRUE KSXP IPC protocol is incompatible with instance 1Errors in file /app/grid/diag/asm/+asm/+ASM2/trace/+ASM2_lmon_28180628.trc:ORA-27300: OS system dependent operation:config_check failed with status: 0ORA-27301: OS failure message: Error 0ORA-27302: failure occurred at: skgxpvalpidORA-27303: additional information: Remote port MTU does not match local MTU. [local: 9000, remote: 1500] (169.254.1XX.XX)KSXP IPC protocol is incompatible with instance 1Errors in file /app/grid/diag/asm/+asm/+ASM2/trace/+ASM2_lmon_28180628.trc:ORA-27300: OS system dependent operation:config_check failed with status: 0ORA-27301: OS failure message: Error 0ORA-27302: failure occurred at: skgxpvalpidORA-27303: additional information: Remote port MTU does not match local MTU. [local: 9000, remote: 1500] (169.254.1XX.XX) Communication channels reestablished

根据这些便可发现和 MOS (Doc ID 947223.1)所说一致了,MTU 不一致导致主机重启了。

当查看主机二的 MTU 时便惊奇的发现居然是 9000 ,而节点一均是 1500.这个就需要修改了,MTU 参数修改需要重启才会永久生效。所以需要把 en2 和 en3 改成 1500 才行。 其他类型的系统查看如下:

On AIX:# lsattr -El Example:[celcaix4]/usr/sbin> lsattr -El en5alias4 IPv4 Alias including Subnet Mask Truealias6 IPv6 Alias including Prefix Length Truearp on Address Resolution Protocol (ARP) Trueauthority Authorized Users Truebroadcast Broadcast Address Truemtu 1500 Maximum IP Packet Size for This Device True  mtu 8232 index 1inet 127.xxx.xxx.1 netmask ff000000eri0: flags=1000843 mtu 1500 index 

解决问题

使用如下命令临时设置生效,重启方可永久生效。

ifconfig eth2 mtu 1500

ifconfig eth3 mtu 1500

当修改完之后,重启数据库监控了半小时,便再也没有发生过主机宕机数据库宕机了。至于为何不一致了由于已是晚上当时就没有深究了。

两个主机mtu不相同_案例详解:MTU不一致导致主机和RAC不断重启相关推荐

  1. 什么是python编程例子_案例详解:优化Python编程的4个妙招

    全文共3510字,预计学习时长7分钟 作为数据科学家,敲出最优的Python代码非常非常重要.别无他法,杂乱低效的代码笔记本会消耗你的时间,也会浪费大量项目资金.经验丰富的数据科学家和专业人士都很清楚 ...

  2. Ajax基本案例详解之load的实现

    Ajax的load实现: 看这篇之前建议大家去看看前面两篇文章: 1.Ajax基本案例详解之$.ajax的实现 2.Ajax基本案例详解之$.get的实现 现在写一下$.load()里面的主要内容: ...

  3. Ajax基本案例详解之$.getjson的实现

    Ajax的$.gethson实现: 看这篇之前建议大家去看看前面两篇文章: 1.Ajax基本案例详解之$.ajax的实现 2.Ajax基本案例详解之$.get的实现 现在写一下$.getjson里面的 ...

  4. Ajax基本案例详解之$.post的实现

    Ajax的post实现: 看这篇之前建议大家去看看前面两篇文章: 1.Ajax基本案例详解之$.ajax的实现 2.Ajax基本案例详解之$.get的实现 现在写一下$.post()里面的主要内容: ...

  5. 案例详解:MTU不一致导致主机和RAC不断重启

    AIX 操作系统因 MTU 不一致导致主机和 RAC 数据库不断重启,事件就是发生在上周日.操作系统工程师因监控发现有一台主机不断重启,排查硬件后无问题,便将事件转至数据库工程师排查了.当时主机是一套 ...

  6. java swing 案例详解_《Java Swing图形界面开发与案例详解》PDF_IT教程网

    资源名称:<Java Swing图形界面开发与案例详解>PDF 内容简介: <Java Swing图形界面开发与案例详解>全书共20章,其中第1-2章主要介绍有关Swing的基 ...

  7. java正则匹配多个斜杠_正则表达式中两个反斜杠的匹配规则详解

    关于正则表达式raw的\匹配规则 这是我在学习中获得到的一个例子,第一表达式中匹配到的是none.于是乎我就在思考,为什么会匹配不到,假设\t被转义成一个\t,那么也应该匹配到\tsanle,而不是n ...

  8. 技术+案例详解无监督学习Autoencoder

    摘要:本篇文章将分享无监督学习Autoencoder的原理知识,然后用MNIST手写数字案例进行对比实验及聚类分析. 本文分享自华为云社区<[Python人工智能] 十五.无监督学习Autoen ...

  9. rsync+inotify实现实时同步案例详解

    rsync+inotify实现实时同步案例详解 转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也 ...

最新文章

  1. Python-OpenCV--USB摄像头采集图像并保存到指定文件夹
  2. java的(PO,VO,TO,BO,DAO,POJO)解释1
  3. android中sp的意义_两分钟理解Android中SP与DP的区别
  4. Ubuntu下使用pjsip点对点通话
  5. python求高阶导数_TensorFlow:计算Hessian矩阵(和高阶导数)
  6. C语言 指针与数组
  7. vue.js嵌套路由-------由浅入深
  8. Django 找不到模版报错 django.template.exceptions.TemplateDoesNotExist: index.html
  9. Mac 安装 valet
  10. 选择符/选择器 深入了解 全面的选择器学习
  11. Flash 3D引擎收集
  12. Android天气预报详解
  13. php 汉字转拼音 扩展,PHP中文转拼音扩展
  14. eclipse工程图标上有个红色感叹号
  15. html和css中盒子大小,CSS大小设置实例——盒子模型
  16. getch()功能与用法
  17. Flutter环境搭建、运行gallary项目
  18. 什么是安全测试?一文教会你如何开展系统安全测试…
  19. css立体3d效果动画,css3 实现动画,变换基点及3D效果~
  20. 你是否了解AR技术?AR技术就在我们身边

热门文章

  1. python 等值线 标注 间距、控制_python - Matplotlib-Contourf-如何使刻度线间距不均匀? - 堆栈内存溢出...
  2. access 导入 txt sql语句_[内附完整源码和文档] 基于C#和Access的智能聊天机器人
  3. 串口、COM口、TTL和RS-232的区别详解
  4. C51单片机其他名词英文全称
  5. python数据包的作用_使用Python将登录数据包发送到Minecraft服务器不起作用
  6. gitlab mysql 配置_gitlab的安装与修改端口配置
  7. 分布式系统关注点(14)——「弹性架构」详解
  8. Linux Shell脚本编程基础(11)
  9. StringGrid数据导出到Excel
  10. Spring注解@Resource和@Autowired区别对比