云和恩墨 数据和云


为了及时共享行业案例,通知共性问题,达成共享和提前预防,我们整理和编辑了《云和恩墨技术通讯》,通过对过去一段时间的知识回顾,故障归纳,以期提供有价值的信息供大家参考。同时,我们也希望能够将热点事件、新的产品特性及其他有价值的信息聚集起来,为您提供具有前瞻性的支持信息,保持对于当前最新的数据库新闻和事件的了解,其中包括重要数据库产品发布、警报、更新、新版本、补丁等。

墨天轮文档:《云和恩墨技术通讯(7月刊)》:https://www.modb.pro/doc/4875(复制到浏览器中打开或者点击文末左下角“阅读原文”立即下载)


以下截取部分页面:

下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav

下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_02


以下选取一个经验篇:


ORACLE RAC经常会因为节点间通信或者数据库负载异常,从而导致数据库节点发生异常重启,影响生产环境部分业务,该篇文章就详细描述了数据库节点重启的分析过程。


问题描述


某客户数据库Oracle  RAC 环境中节点出现重启现象,几分钟后集群自动恢复,影响部分业务,分析思路如下:


问题分析


CRS日志分析,数据库无法启动,数据库监听状态异常:

下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_03

发现数据库的asm实例也出现异常。


分析gipc日志:


下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_04

集群的心跳一直处于正常状态。
asm agent日志:

下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_05

asm的资源已经offline。


查看数据库ash发现,故障前一段时间,数据库在做备份的动作:


下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_06


下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_07

下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_08


磁盘有大量的写入操作,并且有大量的换入换出动作。


下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_09下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_10


ASH里会话都被sid 3046阻塞,3046会话是ckpt进程。


下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_11


从分析ckpt进程的trace得出:


告警数据库的IO负载异常高,并且出现log file parallel write写的等待。说明当时IO出现了异常。两个节点之间也出现通讯异常。enq: TC – contention,执行ALTER TABLESPACE … BEGIN BACKUP后,将属于此表空间的所有高速缓冲区的脏块记录到磁盘上,这个过程经历enq: TC - contention等待。


OS日志:

下载丨7月数据库技术通讯:LINUX OS配置问题导致数据库重启_Jav_12


Message里出现告警:
17573 blocked for more than 120 seconds. “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.


改现象与官方mos文档:(Doc ID 1423693.1)现象一致。


问题解决


1、建议调整rman备份的策略,比如修改并发度。
2、修改内核参数
参考语句:
vm.min_free_kbytes = 262144
vm.swappiness=100
3、设置大页
使用hugepage功能时候需要禁用11g新特性 Auto Memory Management (AMM)
memory_target = 0
memory_max_target=0


墨天轮文档:《云和恩墨技术通讯(7月刊)》:https://www.modb.pro/doc/4875(复制到浏览器中打开或者点击文末左下角“阅读原文”立即下载)