資料庫伺服器記憶體不夠,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中觸發保護機制,保全系統不發生嚴重問題,優先殺掉體量較大的程式,來解決記憶體不足問題。
所以發現這種情況,首先考慮的是增加記憶體。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/22967847/viewspace-3003872/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 電腦記憶體不夠用了怎麼辦 電腦記憶體不夠用的方法記憶體
- 環境變數設定錯誤導致sqlplus 連線不上oracle變數SQLOracle
- SQL server資料庫連線不上SQLServer資料庫
- 客戶端連不上資料庫客戶端資料庫
- 共享記憶體段未釋放導致資料庫記憶體被耗盡記憶體資料庫
- 不上資料庫資料庫
- oracle刪除datafile導致資料庫打不開Oracle資料庫
- 歸檔目錄滿或不夠用.致資料庫down!!資料庫
- 【虹科分享】Redis 不僅僅是記憶體資料庫Redis記憶體資料庫
- iOS記憶體不夠怎麼辦?-底層原理iOS記憶體
- 記一次 redis 事件註冊不當導致的記憶體洩露Redis事件記憶體洩露
- 請問問什麼連不上資料庫?資料庫
- sqlplus能登入資料庫,但plsql登入不上SQL資料庫
- 資料庫統計資訊不更新導致的效能問題資料庫
- 連不上SQL Server資料庫,不明白啊SQLServer資料庫
- setup中為何資料庫連線不上那資料庫
- JiveJdon3.0 為何連不上MySQL 資料庫?MySql資料庫
- Linux記憶體不夠了?看看如何開啟虛擬記憶體增加記憶體使用量Linux記憶體
- oracle僵死會話鎖住buffer,導致資料庫hang住Oracle會話資料庫
- 求救:hibernate3連結資料庫infomix連線不上資料庫
- 客戶端連不上資料庫,如何來排錯客戶端資料庫
- 帝國cms連線不上資料庫怎麼辦資料庫
- 帝國cms資料庫連線不上怎麼辦資料庫
- 異常連線導致的記憶體洩漏排查記憶體
- 資料庫表空間不夠,需要擴容資料庫
- 搭建DG過程由於沒有口令檔案而導致rman連不上主庫
- file-max設定過小導致oracle資料庫hang住Oracle資料庫
- 歸檔日誌無法歸檔導致資料庫hang住資料庫
- 記憶體資料庫記憶體資料庫
- 結構體資訊寫入SD卡,記憶體不連續結構體SD卡記憶體
- Mac os的防火牆導致開的熱點手機連不上Mac防火牆
- Jtti:連線不上SQL資料庫怎麼解決?JttiSQL資料庫
- 10.2出現reliable message資訊導致程式hang死
- 坑!火山引擎雲資料庫 MySQL 版節點記憶體只增不減資料庫MySql記憶體
- 9i資料庫hang死分析處理資料庫
- 記一次:歸檔檔案系統問題導致資料庫hang處理資料庫
- 導數時資料庫hang住分析資料庫
- 雙攝還不夠!iPhone 7 Plus配置曝光:3GB記憶體iPhone記憶體