现象:
数据库日志报错“PMON (ospid: 5987): terminating the instance due to error 471”
实例异常终止。
数据库日志:
Archived Log entry 14380 added for thread 1 sequence 9960 ID 0x6d1a9509 dest 1:
ALTER SYSTEM ARCHIVE LOG
Thread 1 advanced to log sequence 9962 (LGWR switch)
Current log# 2 seq# 9962 mem# 0: /oracle/app/oradata/oradb02/redo02.log
Archived Log entry 14381 added for thread 1 sequence 9961 ID 0x6d1a9509 dest 1:
Tue Mar 08 10:13:48 2022
alter tablespace SYSTEM add datafile '/oracle/app/oradata/ora/system02.dbf' size 30G
Tue Mar 08 10:15:16 2022
Completed: alter tablespace SYSTEM add datafile '/oracle/app/oradata/ora/system02.dbf' size 30G
Tue Mar 08 10:27:27 2022
PMON (ospid: 5987): terminating the instance due to error 471
Tue Mar 08 10:27:27 2022
System state dump requested by (instance=1, osid=5987 (PMON)), summary=[abnormal instance termination].
System State dumped to trace file /oracle/app/diag/rdbms/oradb02/oradb02/trace/oradb02_diag_5998_20220308102727.trc
Instance terminated by PMON, pid = 5987
Tue Mar 08 10:37:01 2022
Starting ORACLE instance (normal)
系统日志
Mar 8 10:27:23 ora-02 kernel: 8753026 total pagecache pages
Mar 8 10:27:23 ora-02 kernel: 236787 pages in swap cache
Mar 8 10:27:23 ora-02 kernel: Swap cache stats: add 21823204, delete 21586417, find 43608748/45662051
Mar 8 10:27:23 ora-02 kernel: Free swap = 0kB
Mar 8 10:27:23 ora-02 kernel: Total swap = 4194296kB
Mar 8 10:27:23 ora-02 kernel: 16777200 pages RAM
Mar 8 10:27:23 ora-02 kernel: 284145 pages reserved
Mar 8 10:27:23 ora-02 kernel: 15269973 pages shared
Mar 8 10:27:23 ora-02 kernel: 5755398 pages non-shared
Mar 8 10:27:23 ora-02 kernel: Out of memory: Kill process 6006 (oracle) score 206 or sacrifice child
Mar 8 10:27:23 ora-02 kernel: Killed process 6006, UID 1101, (oracle) total-vm:39971472kB, anon-rss:11264kB, file-rss:14439280kB
Mar 8 10:28:04 ora-02 kernel: hpet1: lost 17 rtc interrupts
Mar 8 10:29:02 ora-02 kernel: hpet1: lost 36 rtc interrupts
原因
根据操作系统日志,OOM killer杀死了Oracle后台进程以释放内存。
OOM killer ,是默认启用的 Linux 功能。它是在严重内存压力下采用Linux内核的自我保护机制。
有关详细信息,请查看以下说明:
Linux: Out-of-Memory (OOM) Killer (Doc ID 452000.1)
解决方案:是向服务器添加更多RAM/交换以避免此问题。或请您的操作系统管理员解决内存不足问题。
调整Linux kernel 限制参数,尽量不要使用swap
使用hugepages可以避免SGA被swap。