以服务器内存为4G
修改/etc/sysctl.conf
文件 (ROOT账户)
kernel.shmmax =
2147483648
//公式:2G*1024*1024*1024=2147483648(字节)
//表示最大共享内存,如果小的话可以按实际情况而定,一般为物理内存的一半(单位:字节)
kernel.shmmni=4096
//表示最小共享内存固定4096KB(由于32位操作系统默认一页为4K)
kernel.shmall=1048576
//公式:4G*1024*1024/4K = 1048576(页)
//表示所有内存大小(单位:页)
kernel.sem=250 32000 100 128
//4个参数依次是SEMMSL:每个用户拥有信号量最大数,SEMMNS:系统信号量最大数,SEMOPM:每次semopm系统调用操作数,SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小
fs.file-max=65536
//file-max固定大小65536
net.ipv4.ip_local_port_range=1024 65000
//ip_local_port_range表示端口的范围,为指定的内容
以上步骤做完执行 /sbin/sysctl -p
使内核生效
验证参数(root账户执行):
#
/sbin/sysctl -a | grep
shm
#
/sbin/sysctl -a | grep sem
#
/sbin/sysctl -a | grep file-max
#
/sbin/sysctl -a | grep ip_local_port_range
1
、与
oracle
相关的信号量和共享内存段参数
一般
unix
系统中和信号量相关的是三个参数
SEMMNI SEMMSL
SEMMNS
。他们相互关联决定系统可以分配的信号量。
Oracle
使用信号量完成内部进程之间的通信。
关于共享内存段使用
shmmx
参数进行总体控制。它指定了系统可以分配的共享内存段最大大小,实际并没有分配那么多只是给出一个可以使用的最大限制。
对于类核参数的修改必须要重新启动系统之后才会生效。
2
、出现
信号量和共享内存段相关问题的情况
oracle
只有在
startup
nomount
的时候才会请求
os
的这些资源,用于建立
SGA
和启动后台进程。
有些情况下因为
oracle
崩溃之后
os
没有清除
oracle
分配的
SGA
,也可能造成共享内存段不足,需要人工清除。
3
、如何解决相关的问题
你可以简单的修改
init
参数减少
oracle
对共享内存段和信号量的需求。
对于控制信号量的三个参数
SEMMNI SEMMSL
SEMMNS
。最终可以使用的信号量由下面公式
提取
(semmsl * semmni)
或者
semmns
中最小的值。
例如在
linux
下
.
进入目录/proc/sys/kernel;用cat命令或more命令查看semaphore当前参数的值:
cat sem
命令运行后将会出现如下的结果:
250 32000 32 128
其中, 250
是参数SEMMSL的值,32000是参数SEMMNS的值,
32是参数SEMOPM的值,而128则是参数SEMMNI的值。250*128=32000
对于
oracle7
需要信号量的设置等于
init
中
processes
的设置。对于
8i 9i
需要等于
processes*2
。
对于信号量参数的设定一定要小心,因为不正确的设置可能会让系统使用默认值。这个值一般比
oracle
系统要求的低。在
HP unix
上遇到过这样的问题,当时在参数配置的时候指定两个不同的
sem-mni
造成系统使用默认的设置。
对于共享内存段,系统的设置至少要等于
SGA
的大小。
分享到:
相关推荐
Linux内核参数调整及ORACLE调优参数
记录一下oracle安装时候参数调整的说明,方便以后找~~
我其实是想免费,无奈自己囊肿羞涩,望大家帮忙。
Oracle内核技术揭秘_PDF电子书下载 带书签目录 高清完整版
从ORACLE 11gR2 for linux版本,已经不需要DBA们手动去编辑/etc/...件和/etc/security/limits.conf文件来修改操作系统的内核参数和限额,这些工作ORACL E会生成一个脚本,DBA只需要用root用户执行一下这个脚本即可。
Oracle内核技术揭秘
《Oracle内核技术揭秘》PDF版本下载
oracle实现带参数视图,里面有例子,很好的一个东西。
oracle 19c数据库参数优化最佳实践
ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析
对linux内核参数一个详细的说明,以便于对linux参数有一个清晰的认识。在安装ORACLE产品时特别有用。
ORACLE参数调优方案ORACLE参数调优方案ORACLE参数调优方案
安装oracle内核参数说明及设置 kernel.shmmax 说明: · Linux进程可以分配的单独共享内存段的大值(byte) · 64位的linux操作系统,设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值/或者1/2的物理...
Oracle Goldengate参数规范,很不错,可以学习参考参考
关于一本 对于 oracle 提升技术的书 绝对 有用 希望大家有空可以看一看
Oracle数据库参数设置,Oracle数据库参数设置
安装oracle的时候,需要修改内核参数,以及系统环境标量,运行此包即可不用手动修改。注意看清操作系统
关于ado.net简单的参数化查询,操作的是oracle数据库!关于ado.net简单的参数化查询,操作的是oracle数据库!
Oracle执行计划参数解释,Oracle SQL优化的基础是看懂Oracle的执行计划,本文当系统整理了Oracle执行计划里面的各种参数。