• Oracle中的sysctl.conf内核参数


    当我们对Oracle进行安装部署时,需要按照相关要求修改OS内核参数,下面对Oracle按照部署时需要修改的相关内核参数进行简单介绍。
    注:OS的内核参数大多数存放在/proc/sys目录下,可以在系统运行时进行更改,但是当系统重新启动时会失效,而通过/etc/sysctl.conf文件可以永久生效修改后的内核参数。
    
    sysctl -p
    该命令可以立即生效sysctl.conf中配置的内核参数。
    
    如下为安装部署Oracle时需要配置的内核参数:
    [root@ht01 init.d]# cat /etc/sysctl.conf 
    # sysctl settings are defined through files in
    # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
    #
    # Vendors settings live in /usr/lib/sysctl.d/.
    # To override a whole file, create a new file with the same in
    # /etc/sysctl.d/ and put new settings there. To override
    # only specific settings, add a file with a lexically later
    # name in /etc/sysctl.d/ and put new settings there.
    #
    # For more information, see sysctl.conf(5) and sysctl.d(5).
    
    # oracle-database-preinstall-19c setting for fs.file-max is 6815744
    fs.file-max = 6815744
    
    # oracle-database-preinstall-19c setting for kernel.sem is '250 32000 100 128'
    kernel.sem = 250 32000 100 128
    
    # oracle-database-preinstall-19c setting for kernel.shmmni is 4096
    kernel.shmmni = 4096
    
    # oracle-database-preinstall-19c setting for kernel.shmall is 1073741824 on x86_64
    kernel.shmall = 1073741824
    
    # oracle-database-preinstall-19c setting for kernel.shmmax is 4398046511104 on x86_64
    kernel.shmmax = 4398046511104
    
    # oracle-database-preinstall-19c setting for kernel.panic_on_oops is 1 per Orabug 19212317
    kernel.panic_on_oops = 1
    
    # oracle-database-preinstall-19c setting for net.core.rmem_default is 262144
    net.core.rmem_default = 262144
    
    # oracle-database-preinstall-19c setting for net.core.rmem_max is 4194304
    net.core.rmem_max = 4194304
    
    # oracle-database-preinstall-19c setting for net.core.wmem_default is 262144
    net.core.wmem_default = 262144
    
    # oracle-database-preinstall-19c setting for net.core.wmem_max is 1048576
    net.core.wmem_max = 1048576
    
    # oracle-database-preinstall-19c setting for net.ipv4.conf.all.rp_filter is 2
    net.ipv4.conf.all.rp_filter = 2
    
    # oracle-database-preinstall-19c setting for net.ipv4.conf.default.rp_filter is 2
    net.ipv4.conf.default.rp_filter = 2
    
    # oracle-database-preinstall-19c setting for fs.aio-max-nr is 1048576
    fs.aio-max-nr = 3145728
    
    # oracle-database-preinstall-19c setting for net.ipv4.ip_local_port_range is 9000 65500
    net.ipv4.ip_local_port_range = 9000 65500
    
    net.ipv4.ipfrag_low_thresh=15728640
    net.ipv4.ipfrag_high_thresh=16777216
    
    
    kernel.shmall
    
    shmall表示共享内存总量,以页为单位, 而shmall默认为4294967296 已经足够大了,一般不需要调整,shmall不能低于SGA大小,若shmall低于SGA大小,实例启动时会报:ORA-27123: unable to attach to shared memory segment错误,且无法启动实例。 
    
    kernel.shmmax
    shmmax参数用来定义单个共享内存段的最大值,该值应该配置足够大,能够在一个共享内存段中容下整个的SGA ,如果配置过低可能导致需要创建多个共享内存段,这样可能会导致系统性能下降。
    269838450688/1024/1024/1024=252GB。
    
    shmmax的单位为Byte(字节)。
    
    vm.min_free_kbytes
    该参数表示Linux VM最低保留多少的空闲内存空间,当可用的内存低于配置参数时,系统会进行cache内存的回收,来进行内存的释放。
    单位是kb,524288/1024=512M。
    
    kernel.sem
    sem是semaphores的缩写,进程间通信--信号量,kernel.sem中4个参数分别对应SEMMSL、SEMMNS、SEMOP、SEMMNI
    
    SEMMSL: 每个信号集的最大信号数量 ,一般该参数配置为数据库中最大 PROCESS 参数的设置值加上 10,Oracle 建议 SEMMSL 不低于100。
    SEMMNS:控制整个系统中信号量的最大数量,使用以下计算公式来确定系统中需要配置的信号的最大数量,(SEMMSL * SEMMNI)=SEMMNS。4096*128=524288。
    SEMOPM: 该参数表示在一个 semop call中,每个信号量所允许的最大操作数量,一个信号集可以拥有每个信号集当中的最大数量SEMMSL 信号,建议 SEMOPM 等于SEMMSL 。 Oracle 建议SEMOPM的值不低于 100 。
    SEMMNI:该参数用于控制整个系统中信号集的最大数量。Oracle 建议SEMMNI 的值不低于 100 。
    
    
    fs.file-max
    该参数表示系统级别最大可以打开文件句柄的数量,文件句柄代表系统中可以打开文件的数量。
    
    net.ipv4.ip_local_port_range
    该参数配置向外连接端口范围,缺省为1024到4999。推荐值  9000 65500
    
    net.ipv4.ipfrag_*
    net.ipv4.ipfrag_low_thresh=15728640
    net.ipv4.ipfrag_high_thresh=16777216
    
    系统中当数据包传输发生错误,会进行碎片整理,有效的数据包被保留,而无效的数据包被丢弃,ipfrag参数指定了碎片整理时的最大/最小内存。
    注:rac会发生 ipc send timeout ,节点被驱逐  参考RHEL 6.6: IPC Send timeout/node eviction etc with high packet reassembles failure (Doc ID 2008933.1)
    
    
    net.core.rmem_*
    
    net.core.rmem_default默认数据接收窗口大小。
    
    net.core.rmem_max最大数据接收窗口大小。
    
    net.core.wmem_default默认数据发送窗口大小。
    
    net.core.wmem_max最大数据发送窗口大小。
    
    单位均为字节。
    
    
    fs.aio-max-nr
    
    该参数表示最大并发异步I/O请求数量,当系统中存在非常高的I/O请求时,如果该参数配置过低,可能导致数据库报ORA-27090 - Unable to Reserve Kernel Resources for Asynchronous Disk I/O错误,遇到该问题需将fs.aio-max-nr调整为Oracle建议值3145728。
    
    注:ORA-27090 - Unable to Reserve Kernel Resources for Asynchronous Disk I/O (Doc ID 579108.1)
    
    
    kernel.shmmni
    
    该参数为共享内存段的最大数量,缺省值为4096 ,一般情况下无需调整。
    
    vm.nr_hugepages
    具体数值参考下脚本跑的值  Oracle Linux: Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration (Doc ID 401749.1)
    rac的话还要把grid asm的加上
    

      

  • 相关阅读:
    创建窗口
    文件映射
    匿名管道
    MFC之进度条CProgressCtrl
    跨进程使用句柄和文件操作
    redis安装配置
    git全部操作
    idea中Entity实体中报错:cannot resolve column/table/
    Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon
    sql操作
  • 原文地址:https://www.cnblogs.com/omsql/p/13121996.html
Copyright © 2020-2023  润新知