Oracle运维之由杀毒软件造成的数据库无法连接

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Oracle运维之由杀毒软件造成的数据库无法连接

7月19日15点20分左右,客户反应业务无法连接数据库,到15点30左右时,业务可以正常连接数据库。在20分到30分之间没有做任何操作。

故障分析

数据库告警日志在15点21分报错,在29分之后没有发现ORA-00445。

Sat Jul 18 15:21:11 2020
Errors in file /oracle/app/diag/rdbms/orcl/orcl1/trace/orcl1_cjq0_15129.trc (incident=224489):
ORA-00445: background process "J000" did not start after 120 seconds
……
Sat Jul 18 15:29:25 2020
Errors in file /oracle/app/diag/rdbms/orcl/orcl1/trace/orcl1_qmnc_15048.trc (incident=224433):
ORA-00445: background process "q001" did not start after 120 seconds
ORA-00445错误指的是oracle无法在操作系统层面生成新的进程来为新的请求服务,或者是现有进程已经僵死。通常来讲,这个错误发生在系统资源短缺或者系统资源参数配置错误等,应该从操作系统层面来分析。

从orcl1_cjq0_15129.trc中可以看出,当时的内存使用正常,有充足的空余。

* 2020-07-18 15:19:06.074
loadavg : 65.00 22.26 8.73
Memory (Avail / Total) = 72904.64M / 128946.45M
Swap (Avail / Total) = 32768.00M / 32768.00M
skgpgcmdout: read() for cmd /bin/ps -elf | /bin/egrep 'PID | 68878' | /bin/grep -v grep timed out after >15.000 seconds

集群会定时检查集群资源的健康状况,在15点18分时发现大量的异常,31分后恢复正常。

2020-07-18 15:18:23.883
[/oracle/grid/bin/oraagent.bin(18771)]CRS-5818:Aborted command 'check' for resource >'ora.LISTENER.lsnr'. Details at (:CRSAGF00113:) {1:42006:2} in /oracle/grid/log/lsfby01/agent/crsd/oraagent_grid/oraagent_grid.log.
2020-07-18 15:18:43.914
[/oracle/grid/bin/oraagent.bin(18771)]CRS-5818:Aborted command 'check' for resource 'ora.ons'. Details at (:CRSAGF00113:) {1:42006:2} in /oracle/grid/log/lsfby01/agent/crsd/oraagent_grid/oraagent_grid.log.
2020-07-18 15:18:53.953
[/oracle/grid/bin/oraagent.bin(18771)]CRS-5014:Agent "/oracle/grid/bin/oraagent.bin" timed out starting process "/oracle/grid/bin/lsnrctl" for action "check": details at "(:CLSN00009:)" in "/oracle/grid/log/lsfby01/agent/crsd/oraagent_grid/oraagent_grid.log"
……
[/oracle/grid/bin/oraagent.bin(18771)]CRS-5822:Agent '/oracle/grid/bin/oraagent_grid' disconnected from server. Details at (:CRSAGF00117:) {0:2:39} in /oracle/grid/log/lsfby01/agent/crsd/oraagent_grid/oraagent_grid.log.
2020-07-18 15:30:07.480
[/oracle/grid/bin/orarootagent.bin(18778)]CRS-5822:Agent '/oracle/grid/bin/orarootagent_root' disconnected from server. Details at (:CRSAGF00117:) {0:3:21264} in /oracle/grid/log/lsfby01/agent/crsd/orarootagent_root/orarootagent_root.log.
2020-07-18 15:30:07.480
[/oracle/grid/bin/oraagent.bin(18800)]CRS-5822:Agent '/oracle/grid/bin/oraagent_oracle' disconnected from server. Details at (:CRSAGF00117:) {0:4:72} in /oracle/grid/log/lsfby01/agent/crsd/oraagent_oracle/oraagent_oracle.log.
2020-07-18 15:31:17.399
[crsd(69518)]CRS-1012:The OCR service started on node lsfby01.
2020-07-18 15:31:17.846
[crsd(69518)]CRS-1201:CRSD started on node lsfby01.

在ASM告警日志中也同样发现ORA-00445错误。

Sat Jul 18 15:22:12 2020
Errors in file /oracle/app/diag/asm/+asm/+ASM1/trace/+ASM1_mmon_13816.trc (incident=181601):
ORA-00445: background process "m000" did not start after 120 seconds

考虑到有可能是集群的心跳异常,导致了集群踢掉了一节点,进而导致业务无法连接。但是在查看ocssd日志后,没有发现心跳问题。
在15日的时候,双节点已经部署osw,在查看osw的oswtop、oswmeminfo和oswprvtnet发现了异常的地方。Osw设置的是5s采集一次信息,但是大概在17分到28分之间却没有任何记录,从这点可以大致推论出是操作系统出现了问题。
从操作系统日志中发现,在17分时出现异常,直到31分钟才结束,正好覆盖了数据库无法连接的时间。

Jul 18 15:17:27 lsfby01 kernel: scand[18500]: segfault at 7f194a664000 ip 00007f1952d95a68 sp 00007f19148950d8 error 4 in modmap.yeIQ3s (deleted)[7f1952d7b000+1c000]
Jul 18 15:17:37 lsfby01 kernel: eset_rtp: wait for scanner reply timeout, path: /tmp/.nstat.u0, event: OPEN, pid: 68854
Jul 18 15:17:37 lsfby01 kernel: eset_rtp: wait for scanner reply timeout, path: /etc/ld.so.cache, event: OPEN, pid: 68858
Jul 18 15:17:37 lsfby01 kernel: eset_rtp: wait for scanner reply timeout, path: /etc/ld.so.cache, event: OPEN, pid: 68857
……
Jul 18 15:31:09 lsfby01 kernel: eset_rtp: wait for scanner reply timeout, path: /usr/share/augeas/lenses/libreport.aug, event: OPEN, pid: 11371
Jul 18 15:31:09 lsfby01 kernel: eset_rtp: wait for scanner reply timeout, path: /usr/lib64/gconv/gconv-modules.cache, event: OPEN, pid: 69467
Jul 18 15:31:10 lsfby01 abrtd: Directory 'ccpp-2020-07-18-15:26:08-18407' creation detected
Jul 18 15:31:11 lsfby01 abrtd: Package 'efs' isn't signed with proper key
Jul 18 15:31:11 lsfby01 abrtd: 'post-create' on '/var/spool/abrt/ccpp-2020-07-18-15:26:08-18407' exited with 1
Jul 18 15:31:11 lsfby01 abrtd: Deleting problem directory '/var/spool/abrt/ccpp-2020-07-18-15:26:08-18407'

在与客户沟通后,确认服务器上安装了杀毒软件,至此可以推断出是由于杀毒软件造成的问题。

总结

从这次故障可以看出,在分析问题时,如果从数据库层面遇到了瓶颈,无法定位问题,那么不妨从操作系统层面上来分析,通过分析日志和osw采集日志,往往会有奇效。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
17天前
|
存储 Go API
使用GoFrame连接和操作TDengine时序数据库
通过使用GoFrame框架和TDengine Go驱动,我们可以方便地连接和操作TDengine时序数据库。无论是插入、查询还是分析时序数据,都可以通过简单的API调用来实现。GoFrame提供了强大的Web开发功能,结合TDengine的高性能时序数据存储和查询能力,可以构建高效、可扩展的时序数据应用。
|
15天前
|
NoSQL 关系型数据库 PHP
php连接数据库
要使用PHP连接PolarDB或MongoDB数据库,需先准备连接信息,并编写相应代码。对于PolarDB,需设置主机地址、端口、数据库名及凭据,使用`pg_connect`函数建立连接;而对于MongoDB副本集,需安装MongoDB PHP驱动,通过`MongoDB\Client`连接指定的副本集实例。请确保替换示例代码中的占位符为实际值,并正确配置副本集名称和主机信息。更多详细信息与示例代码,请参考相关链接。
125 72
|
3天前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
10天前
|
Oracle 安全 关系型数据库
Oracle数据恢复—Oracle数据库误删除的数据恢复方法探讨
删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle数据库数据恢复方法(不考虑全库备份和利用归档日志)。
|
20天前
|
存储 Oracle 关系型数据库
Oracle同一台服务器创建多个数据库
【8月更文挑战第30天】在 Oracle 中,可在同一服务器上创建多个数据库。首先确保已安装 Oracle 软件并具有足够资源,然后使用 DBCA 工具按步骤创建,包括选择模板、配置存储及字符集等。重复此过程可创建多个数据库,需确保名称、SID 和存储位置唯一。创建后,可通过 Oracle Enterprise Manager 进行管理,注意服务器资源分配与规划。
34 10
|
21天前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
Java开发者必知:JDBC连接数据库的“三大法宝”
17 7
|
26天前
|
缓存 运维 监控
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
|
28天前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
51 2
|
27天前
|
存储 SQL JSON
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
|
28天前
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
17 1

推荐镜像

更多