ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device

故障描述
a, Oracle 11.2.3 + Linux 6.2
b, 调整Linux内存16G -> 32G
c, 调整Oracle内存SGA_TARGET 7760M -> 14G
d, 启动数据库报错
   ORA-27102: out of memory
   Linux-x86_64 Error: 28: No space left on device


解决方法
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 2097152

参数设置过小所致,当SGA_TARGET增大到14G,kernel.shmall必须大于14*1024*1024*1024/4096=3670016,我修改为16*1024
*1024*1024/4096=4194304。

官方解释
"如何使用Linux HugePages提高大型数据库的x86内存性能"
http://www.oracle.com/technetwork/cn/articles/servers-storage-dev/hugepages-2099009-zhs.html

AMM与Linux HugePages
"ASMM versus AMM and LINUX x86-64 Hugepages Support (Doc ID 1134002.1)"

If AMM is enabled and Linux hugepage's are enabled as well, then AMM will
override Linux hugepage's usage.

The AMM feature is not to be confused with Automatic Shared Memory Management
(ASMM) which was introduced in 10g. ASMM along with the PGA_AGGREGATE_TARGET
database parameter will automatically manage the SGA memory and the PGA
memory and does not conflict with Linux hugepage's. Thus, if you want to use
Linux hugepage's and automatically manage database memory then using ASMM is
the workaround.


ASMM is supported with LINUX x86-64 Hugepages but AMM is not supported with Hugepages.

你可能感兴趣的:(ORA-xxxxx,Linux/Unix,Oracle,Performance)