数据库服务器内存不够,DBW0 hang死导致sqlplus连不上

后台"sqlplus / as sysdba"去连接,不能正常连接
alter日志报错:

Errors in file /opt/app/oracle/admin/gc/bdump/gc_pmon_14178.trc:
ORA-00471: Message 471 not found; No message file for product=RDBMS, facility=ORA
Tue Jul 11 15:19:30 2023
WARNING: inbound connection timed out (ORA-3136)
Tue Jul 11 15:19:32 2023
WARNING: inbound connection timed out (ORA-3136)
Tue Jul 11 15:19:33 2023
WARNING: inbound connection timed out (ORA-3136)
Tue Jul 11 15:19:34 2023
WARNING: inbound connection timed out (ORA-3136)
Tue Jul 11 15:19:37 2023

根据alert日志检查gc_pmon_14178.trc日志:

** 2023-07-11 15:18:27.293
kssxdl: error deleting SO: 0x2d30ebc48, type: 53, owner: 0x2e5fcf180, flag: I/-/-/0x00:
ORA-00471: Message 471 not found; No message file for product=RDBMS, facility=ORA
*** 2023-07-11 15:18:37.318
Background process DBW0 found dead
Oracle pid = 5
OS pid (from detached process) = 14184
OS pid (from process state) = 14184
dtp = 0x60012cf0, proc = 0x2e59c30f0
Dump of memory from 0x0000000060012CF0 to 0x0000000060012D38
发现Background process DBW0 found dead,检查操作系统message日志:

Jul 11 15:17:04 ytg-db kernel: [ 5308]  1001  5308  2556379     1543   0       0             0 oracle
Jul 11 15:17:04 ytg-db kernel: [ 5310]  1001  5310  2556413     1537   3       0             0 oracle
Jul 11 15:17:04 ytg-db kernel: [ 5312]  1001  5312  2556413     1589   2       0             0 oracle
Jul 11 15:17:04 ytg-db kernel: Out of memory: Kill process 4956 (oracle) score 128 or sacrifice child
Jul 11 15:17:04 ytg-db kernel: Killed process 4956, UID 1001, (oracle) total-vm:10227268kB, anon-rss:2248kB, file-rss:2613572kB
Jul 11 15:17:12 ytg-db kernel: java invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
Jul 11 15:17:12 ytg-db kernel: java cpuset=/ mems_allowed=0
Jul 11 15:17:12 ytg-db kernel: Pid: 1191, comm: java Tainted: G           --------------- H  2.6.32-431.23.3.el6.x86_64 #1
Jul 11 15:17:12 ytg-db kernel: Call Trace:
Jul 11 15:17:12 ytg-db kernel: [<ffffffff810d0431>] ? cpuset_print_task_mems_allowed+0x91/0xb0
Jul 11 15:17:12 ytg-db kernel: [<ffffffff81122810>] ? dump_header+0x90/0x1b0
Jul 11 15:17:12 ytg-db kernel: [<ffffffff8122833c>] ? security_real_capable_noaudit+0x3c/0x70
Jul 11 15:17:12 ytg-db kernel: [<ffffffff81122c92>] ? oom_kill_process+0x82/0x2a0
Jul 11 15:17:12 ytg-db kernel: [<ffffffff81122bd1>] ? select_bad_process+0xe1/0x120
Jul 11 15:17:12 ytg-db kernel: [<ffffffff811230d0>] ? out_of_memory+0x220/0x3c0
Jul 11 15:17:12 ytg-db kernel: [<ffffffff8112f9ef>] ? __alloc_pages_nodemask+0x89f/0x8d0
Jul 11 15:17:12 ytg-db kernel: [<ffffffff811678ea>] ? alloc_pages_current+0xaa/0x110

发现“Jul 11 15:17:04 ytg-db kernel: Out of memory: Kill process 4956 (oracle) score 128 or sacrifice child”,这是由于内存不足的情况,Linux中触发保护机制,保全系统不发生严重问题,优先杀掉体量较大的进程,来解决内存不足问题。
所以发现这种情况,首先考虑的是增加内存。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值