DBAtlas · 数据库运维图谱

ORA-27102: out of memory(内存不足)

Oracle

含义

在启动期间,Oracle 实例无法从操作系统分配所请求的共享内存(SGA)段。通常与 ORA-27102 以及更底层的 OSD/Linux 错误代码一同出现(例如 Linux-x86_64 Error: 28: No space left on device)。

原因

为 SGA 请求的内存超过内核共享内存限制(shmmax、shmall);服务器物理 RAM/swap 不足;或 HugePages 配置缺失/不足,无法分配大型 SGA。在增大 SGA_MAX_SIZE 之后很常见。

解决方法

增大内核共享内存参数:在 /etc/sysctl.conf 中将 kernel.shmmax 和 kernel.shmall 设置为足以覆盖 SGA 的值,然后运行 sysctl -p。如果使用 HugePages,根据 SGA 计算并设置 vm.nr_hugepages。检查服务器的总 RAM 和 swap;必要时降低 SGA_MAX_SIZE / SGA_TARGET。

在 DBAtlas 中打开 →

同一数据库的其他条目