存储磁盘测试工具fio和dd常用场景

Linux 系统中有多种工具可用于测试存储设备的 I/O 性能,以下是主要是OS一般自带的dd或FIO (Flexible I/O Tester),因为数据库是一个对I/O敏感的应用软件,对于云上或虚拟环境有时存储性能不理想,通常需要工具在上线前做基准测试,避免上线后出现数据库性能问题,最近有个客户咨询生产一套达梦DMDPC环境在某云环境IaSS上,业务反应慢的无法接受,怀疑I/O不是很理想, 这里记录几个常用的命令。

从DeepSeek各行业赋能,聊聊AI运维

最近股市的表现尤为显著,智能医疗、智能农业、自动驾驶汽车、智能一体机以及智能政务等领域股票轮番上涨,这无疑是对上述趋势的最佳注解。与此同时,信创数据库领域似乎已经被资本市场冷落,而与之相关的智能运维细分市场又显得过于狭小。不过,作为我的专业背景所在,我对这一领域依然充满热情。因此,本文将从数据库管理员(DBA)的角度出发,探讨DeepSeek与AI运维之间的联系及其潜在影响。

从数据库管理角度聊聊AI医疗

2025年初,DeepSeek 作为一家专注于大规模深度学习模型研发与部署的前沿企业,以其卓越的技术突破,推动了大模型智能应用在多个领域的蓬勃发展。其成功不仅证明了人工智能的强大潜力,众多大模型的崛起,也为AI与医疗的深度融合提供了更广阔的想象空间。如可以提高疾病诊断的精准度,加速药物研发,推动个性化治疗方案的发展等。此外,AI还能改善医疗管理效率,提升了医生的工作体验,同时增强了患者的就医体验。那AI医疗和数据库还有关吗?

NVMe SSD 和硬 RAID卡 实现集中式数据库全栈国产化的100万IOPS+

随着数字经济的快速发展和数据量的激增,高性能数据库系统成为企业业务的核心基础设施之一。在全栈国产化的背景下,如何构建高效、可靠的存储架构,实现 100 万 IOPS 的性能目标, 做为集中式数据库的基础设施提供支持,成为企业关注的重点。本文探讨通过 NVMe SSD 和硬件 RAID 卡组合,构建集中式数据库系统的技术路径。如利用 4 块NVMe SSD,在 RAID 0 下实际性能可超过 1,600,000 IOPS,完全满足高负载数据库的需求。

故障诊断 RHEL7 Slab SUnreclaim (kmalloc-8192) 内存占用高

最近遇到两起运行在 Linux 7 上的数据库主机问题。由于操作系统内核的内存使用率高,导致 Oracle RAC 的性能受损或无法使用。内存主要被 Slab 的 SUnreclaim 区域占用。这些案例有一个共同特点:都使用了分布式文件存储系统。这次的情况是生产环境中有 750G 的内存,而 SLAB 使用了接近 200G 的内存,且主要是由 SUnreclaim 区域占用的。特此记录这个案例。

案例: FC HBA固件升级后Linux6启动失败分析过程

前几天,一位朋友的Oracle RAC 2-nodes(Linux 6物理主机,HPE)系统计划进行HBA固件升级。幸运的是,他们采用了滚动节点的升级方式。在节点1升级FC HBA固件(Firmware version)并重启后,CRS启动失败,所有ASM DISK丢失,且在重启时遇到了操作系统无法启动的惊险情况。这里,我分享一下处理这种问题的经验。

CRS-42216: No interfaces are configured on the local node for interface definition virbr0(:.*)处理方法

现象oracle 19c RACon linux 7.6, GI alert log一直在输出“2024-04-28 01:07:20.305 [GIPCD(53662)]CRS-42216: No interfaces are configured on the local node for interface definition virbr0(:.*)”,但不影响RAC的稳定和使用,在安装clufy时有时也提示PRVF-7617,在oracle 11g还有bug 记录可能影响私网通信 简单记录处理方法。

Troubleshooting Oracle instance start failed with ORA-7445 [ipcor_net_get_ibdevname]

最近,有一位海南客户报告了Oracle 19c RAC数据库启动时出现的错误,提示ORA-07445: exception encountered: core dump [ipcor_net_get_ibdevname()+71][SIGSEGV]。这个崩溃报告的异常原因是由于Oracle的一个bug引起的,但根本原因是由于数据库无法访问某些特定设备的API而导致的。通常这样的问题源于硬件方面的原因。在这里,我只是简要记录一下问题的表现。

Linux多路经DM multipathd for ORACLE RAC ASM注意事项

对于服务器与存储分离的数据库环境中,业务数据存储在外挂存储设备上,常见于之前的oracle RAC等集中式数据库,同样也可以用于达梦或mysql数据库,服务器与存储连接常用的有基于NSF的NAS存储和基于Fabric协议的SAN存储,而企业中对于数据库常使用SAN存储,需要专业硬件如HBA卡和SAN交换机。进一步为了高可用一般是多条路径的方式。对于multipath环境遇到过几个客户配置了4条链路甚至6条,因为一批链路offline,没有switch链路,导致数据库一样会出现I/O失败现象。这里简单整理几个multipath相关的配置参数。

Troubleshooting Linux7 panic System crash shows exception RIP: pagetypeinfo_showfree_print

最近一套oracle RAC on Linux 7环境1节点操作系统重启,分析又是DB和CRS层无错误日志,还好OS有配置kdump, 生成了vmcore文件, 分析是在cat命令时触发操作系统panic, cpu 遭遇hard lockup,出现system crash. 调用堆栈显示exception RIP pagetypeinfo_showfree_print。

Troubleshooting Oracle Grid Infrastructure startup fails with Linux Inode full

最近一个客户一套较老的ORACLE RAC集群长时间无人看管,由于Oracle Grid Infrastructure(GI)的$ORACLE_HOME所在文件系统的inode耗尽,导致了gipcd无法启动,并且最终导致两个节点崩溃。 GI alert log提示gipcd无法启动,但实际是因为GI的$ORACLE_HOME所在文件系统inode耗尽,简单记录一下。
No space left on device (28)

Linux core.NNNN文件导致文件系统耗尽

在oracle rdbms on Linux的环境有时会在$ORACLE_HOME/dbs生成几十GB的core.NNNN的core dump文件,更甚至导致文件系统耗尽,影响oracle进程稳定性, core文件用于分析进程异常终止原因,不只是oracle数据库,在其它数据库环境也经常会产生,如openGauss系这类线程(threads) 式进程数据库如果遇到这类异常,就不会如oracle、postgresql这类进程(processes)式只影响某进程crash, 而是整个实例crash,这也是线程数据库缺点,但往往他们宣传时线程式时避而不谈。

Linux 重启失败Superblock(SB) last mount time is in the future

最近一套华为虚拟化环境中的虚拟主机RHEL linux 6.N 操作系统,调整了memory资源后做reboot重启失败,检查控制台输出提示一个文件系统Superblock last mount time is in the future是2059年,但当前时间是2023年,可能还并不是类似cmos电池问题,重置时间为1988年等之前的时间。启动界面提示要做fsck 手动修复,这里简单记录一下。

分析SQL*Net message from client连接间断性问题

之前在我的blog记录过Troubleshooting Dataguard SYNC同步模式时网络问题 一则网络诊断的问题,通常如果因为网络不通因数白名单或防护墙问题较常见,或网络不稳定丢包使用ping traceroute也可能辅助诊断,但是对于一些客户端执行了几个SQL后随机出现中断或挂起还是比较少见,这里结合一个案例提供一个诊断方法。

Troubleshooting ORA-00600 [kjucvl:!busy], [8] crash & Different datetime between RAC nodes after restart

最近一套oracle 11.2.0.3 2-nodes RAC on AIX环境数据库,触发ora-600 [kjucvl:!busy] 和 ORA-00600: , : [kjuscv]后db instance crash, 但重启后使用plsql dev客户连接实例的两个节点,sysdate返回不同的时间,同时从db alert log 的时间也能发现实例重启后日志倒退了8小时,看来还是timezone问题,简单记录。

注意:HAProxy可能限制MySQL的最大连接数

MySQL架构中经常会遇到和keepalived、HAProxy中间件的组合,解决MySQL的高可用与负载均衡的需求, 但是会给数据库配置带来复杂性。如果没有把这些组件与MySQL级联配置,可能会出现一些意向不到的问题,了解HaProxy就变的重要,近期一个客户在这样的环境做压力测试时,MySQL数据库的max_connections最大链接数已调整到10000, 但一应用反馈链接报错,从数据库上看链接最大也就在2000左右,并且MySQL日志未出现报错,

Troubleshooting XFS filesystem损坏恢复,与ASM start fail案例

上个月那次“盆泼大瓢”式的暴雨差点导致一客户的服务器上船,但还是导致电源故障,在UPS支撑了一会儿中断,再次启动RAC中的一个节点,查看/u01 oracle 软件所在的文件系统无法使用, 重启后操作系统无法启动,后修复文件系统再次出现ASM无法启动问题,简单记录一下这个故障。