zoukankan      html  css  js  c++  java
  • 谈谈ORACLE内核参数

    以服务器内存为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需要信号量的设置等于initprocesses的设置。对于8i 9i需要等于processes*2

    对于信号量参数的设定一定要小心,因为不正确的设置可能会让系统使用默认值。这个值一般比oracle系统要求的低。在HP unix上遇到过这样的问题,当时在参数配置的时候指定两个不同的sem-mni造成系统使用默认的设置。

    对于共享内存段,系统的设置至少要等于SGA的大小。

  • 相关阅读:
    Javascript FP-ramdajs
    微信小程序开发
    SPA for HTML5
    One Liners to Impress Your Friends
    Sass (Syntactically Awesome StyleSheets)
    iOS App Icon Template 5.0
    React Native Life Cycle and Communication
    Meteor framework
    RESTful Mongodb
    Server-sent Events
  • 原文地址:https://www.cnblogs.com/shihao/p/2087655.html
Copyright © 2011-2022 走看看