oracle 19c 由于MGA产生的文件扩展不足导致的ORA-04030

本文详细分析了一起由于MGA(Multi-Process Global Area)内存不足导致的ORA-04030错误。在19c数据库中,MGA是PGA的一部分,用于进程间共享内存。当MGA扩展失败时,发现/dev/shm目录空间不足。解决方案包括增加/dev/shm的大小以及配置MGA大型页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前景:业务人员发现数据库有些job不能自动执行,并且某些sql处于等待状态,于是上去检查数据库状态

数据库版本:19.10
操作系统版本: Red Hat Enterprise Linux Server release 7.8 (Maipo)

数据库登陆有些卡顿 但是可以登陆进去 直接查看当前等待事件

发现有些job在执行时,会等待数据库的一些递归sql

insert into sys.scheduler$_event_log (log_id, log_date, type#, name, owner, operation, status, user...


于是查看数据库日志发现异常信息
截取一部分内容:

ARC0 (PID:38279): Archived Log entry 8146 added for T-1.S-7158 ID 0x4f5fe1a8 LAD:1
2021-11-01T09:49:13.543323+08:00
Unable to allocate memory for new incident error in file /oracle/app/oracle/diag/rdbms/ngxsd/ngxsd1/trace/ngxsd1_j007_69329.trc:
ORA-04030: out of process memory when trying to allocate 248 bytes (ksipc pga chnk,ksm sseg osctx)
ORA-27300: OS system dependent operation:fallocate failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgm_mga_cr
2021-11-01T09:49:13.543607+08:00
Errors in file /oracle/app/oracle/diag/rdbms/ngxsd/ngxsd1/trace/ngxsd1_j007_69329.trc:
ORA-04030: out of process memory when trying to allocate 248 bytes (ksipc pga chnk,ksm sseg osctx)

发现数据库有PGA空间不足的问题,导致ORA-04030。

直接进数据库查看数据库内存分配情况

SQL> show parameter pga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_limit                  big integer 50G

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值