暂无图片
故障排除之ORA-4031
最近更新:2024-03-06 17:53:33

问题概述

某天凌晨3点左右,接到监控系统告警:数据库出现异常,无法连接。登陆到数据库1节点查看后台alert日志发现有大量ORA-04031报错,2节点有少量报错。为了尽快恢复业务,尝试直接重启1节点数据库,重启完成之后恢复正常。

问题分析

1节点后台对应alert日志:

Wed Sep 04 03:57:50 2021
Errors in file /u01/app/oracle/diag/rdbms/xxxxx/xxxxx/trace/xxxxx_smon_29747.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 3896 bytes of shared memory ("shared pool","update sys.col_usage$ set   ...","sga heap(2,0)","kglsim object batch")
Wed Sep 04 03:58:10 2021
Errors in file /u01/app/oracle/diag/rdbms/xxxxx/xxxxx/trace/xxxxx_smon_29747.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 3896 bytes of shared memory ("shared pool","update sys.col_usage$ set   ...","sga heap(1,0)","kglsim object batch")
Wed Sep 04 03:58:26 2021
Errors in file /u01/app/oracle/diag/rdbms/xxxxx/xxxxx/trace/xxxxx_smon_29747.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 3896 bytes of shared memory ("shared pool","update sys.col_usage$ set   ...","sga heap(7,0)","kglsim object batch")
Wed Sep 04 03:58:42 2021
Errors in file /u01/app/oracle/diag/rdbms/xxxxx/xxxxx/trace/xxxxx_smon_29747.trc:
ORA-00604: error occurred at recursive SQL level 1
......