
客户的原始服务器具有64G的内存,迁移后服务器具有128G的内存,的原始SGA为8G,迁移到新服务器后的sga更改为16G. 启动时报告以下错误:
版本为10205三星note27102刷机包三星note27102刷机包,系统版本为RHEL6.5.
SQL>启动
ORA-27102: 内存不足
Linux-x86_64错误: 28: 设备上没有剩余空间
检查mos并找出导致此问题的原因,这里逐一列出:
原因:
~~~~~~~~~~~~~~~~~~~
A]确保物理RAM大于sga_max_size / sga_target
B]确保SHMMAX内核设置等于或大于sga max size
通常会出现错误: 22: 无效的参数
C]确保与内存相关的参数的Ulimit设置不受限制
D]确保交换大小遵循注: 169706.1
中的准则

通常会出现错误: 12: 无法分配内存
从11.2安装指南中:
在1GB和2GB之间,然后是RAM的1.5倍
在2GB和16 GB之间,然后匹配RAM
超过16 GB,然后是16GB RAM
或者,从《 11.2网格基础结构(GI)安装指南》中:
在2GB和8GB之间,然后是RAM的2倍
介于8 GB和32 GB之间,然后是RAM的1.5倍
超过32 GB,然后是32GB RAM
E]如果oracle版本是32位,则最大SGA_TARGET / SGA_MAX_SIZE为1.75gb
检查oracle软件版本是否为32bit:
unix>文件$ ORACLE_HOME / bin / oracle
如果软件版本为32位,则您将在响应中看到类似“ ELF 32位”的文字字符串
如果软件版本为64位,则您将在响应中看到类似“ ELF 64位”的文字字符串

可能的解决方法:
-仅Linux-评论-注: 260152.1“ Linux Big SGA,大内存,VLM-白皮书”
-Windows-review注意: 225349.1“在Windows平台上实现地址窗口扩展(AWE)或VLM”
-Solaris: 审查注释: 1028623.6“ SOLARIS: 如何重新放置SGA”
其他原因
~~~~~~~~~~~~~~~
1]出现其他错误:
错误: 12: 无法分配内存
版本11g,将LOCK_SGA设置为true,且MEMORY_MAX_TARGET / MEMORY_TARGET> 0
请参阅注释: 577898.1
-LOCK_SGA设置为true [Linux]
请参阅注释: 401077.1
备注: 请参阅附件
2]出现其他错误:
Linux-X86_64错误: 28: 设备上没有剩余空间
-可能发生的SHMALL问题
请参阅注释: 301830.1
3]出现其他错误
SVR4错误: 22: 参数无效
-Solaris 10,使用项目
评论
注意: 779861.1-shmmax设置不正确
注意: 390547.1-svrctl问题
注意: 790205.1-Sun问题
4]出现其他错误
ORA-00604: 在递归SQL级别1发生错误
Intel SVR4 UNIX错误: 134495412: 未知系统错误
请参阅注释: 786448.1
根据官方提示信息,发现shmall参数值设置过小,启动失败,如下:
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 2097152 ####设置的值太小,导致启动失败.
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 101365
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
根据文章中设置shmall参数的规则,设置shmall = 16777216,将正常启动.
备注: 根据mos文档(文档ID 301830.1),修改shmall = 4194304,执行修改测试,并且仍然报告错误.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/sanxing/article-145715-1.html
存款会缩水