谈谈ORACLE内核参数
来源:互联网 发布:cookie json 编辑:程序博客网 时间:2024/06/05 10:42
谈谈ORACLE内核参数
转载时请务必以超链接形式标明文章 原始出处和作者信息及本版权声明。
链接:http://www.dbasky.net/archives/2011/05/oracle-6.html
以服务器内存为4G
修改/etc/sysctl.conf
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账户执行):
#
#
#
#
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的大小。
- 谈谈ORACLE内核参数
- ORACLE内核参数
- ORACLE内核参数
- Oracle内核参数说明
- ORACLE内核参数
- oracle 内核参数二
- Linux 安装oracle内核参数
- oracle rac 内核参数详解
- oracle系统内核参数优化
- Oracle和SUN Solaris内核参数
- 安装Oracle检测linux内核参数
- Oracle和SUN Solaris内核参数
- HP-UX内核参数FOR ORACLE
- Oracle在Linux内核参数的修改
- Linux 下 Oracle 内核参数优化
- Linux 内核参数优化(for oracle)
- Linux内核参数信息(Oracle相关)
- Oracle在Linux内核参数的修改
- 何为FlashPlayer的“渲染”?
- eclipse 中安装android ADT时问题解决‘org.eclipse.ui.core 3.6.2’
- iOS应用开发者需知的IAP功能运作机制
- Ubuntu下的内核编译
- 使用GDB调试Android NDK开发的程序
- 谈谈ORACLE内核参数
- NOSQL数据库大比拼:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase
- OpenAL-soft编译,MinGW Win32和Win64,动态和静态
- QT笔记之QFileDialog
- VC程序调用MATCOM导致进程不自动结束的解决办法
- CArchive 序列化,持久性
- NoSQL数据库性能比较:MongoDB vs Redis vs Tokyo Tyrant
- Insert into select表复制语句
- 已知android手机一台,且不知是否含有sdcard,要求显示手机磁盘目录结构