总结Oracle系统内核参数优化设置

Oracle系统内核参数设置优化 :

Oracle内核参数配置文件在 /etc/sysctl.conf路径下:

vi /etc/sysctl.conf

# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

#ORACLE SETTING

kernel.shmmax = 64424509440
kernel.shmmni = 4096
kernel.shmall = 15728640
kernel.sem = 5010 641280 5010 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.aio-max-nr = 1048576
fs.file-max = 6815744



1、kernel.shmall: 共享内存页数的最大值
Linux共享内存页大小为4KB, 共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大可以设置16G,对应需要共享内存页数为16GB/4KB=16777216KB/4KB=4194304(页) 参数数值根据系统内存大小对应设置优化。

2、kernel.shmmax:单个共享内存段的最大值
shmmax是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax设置应足够大,设置过低可能会导致需要创建多个共享内存段,导致系统性能下降 ,一般情况下可以设置最大共享内存为物理内存的一半,如物理内存是 1G,则可以设置最大共享内存为 512 1024 1024 = 536870912;以此类推,在redhat上最大共享内存不建议超过410241024*1024-1=4294967295。

3、kernel.shmmni:共享内存段的最小数量
shmmni缺省值4096 足够

4、kernel.sem:对应4个值
SEMMSL、SEMMNS、SEMOPM、SEMMNI

(1)SEMMSL: 每个信号集的最大信号数量
当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整SEMAPHORES设置SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,例如,当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。 Oracle 建议将 SEMMSL 的值设置为不少于 100 。
查看oracle 的最大连接数命令:select * from v$license;

(2)SEMMNS:用于控制整个 Linux 系统中信号(而不是信号集)的最大数。
Oracle 建议将 SEMMNS 设置为:系统中每个数据库的 PROCESSES 实例参数设置值的总和,加上最大 PROCESSES 值的两倍,最后根据系统中 Oracle 数据库的数量,每个加 10 。
SEMMNS参数应设置为SEMMSLSEMMNI,接上例SEMMSL为5010,SEMMNS参数应为(5010128)=641280

(3)SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量。semop 系统调用(函数)提供了利用一个 semop 系统调用完成多项信号操作的功能。一个信号集能够拥有每个信号集中最大数量的SEMMSL 信号,因此建议设置 SEMOPM 等于SEMMSL ,Oracle 建议将 SEMOPM 的值设置为不少于 100 。

(4)SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量。
Oracle 建议将 SEMMNI 的值设置为不少于 100 。

配置完这些之后使用 sysctl -p 重新加载生效!!

原文地址:http://blog.51cto.com/8355320/2287354

时间: 2024-10-11 15:12:31

总结Oracle系统内核参数优化设置的相关文章

Linux 下 Oracle 内核参数优化

数据库的性能优化涉及到整个数据库运行环境的方方面面,诸如操作系统,Oracle自身,存储,网络等等几个大块.而操作系统则是Oracle稳定运行与最大化性能的基石.本文主要描述基于Linux系统下 Oracle 内核参数的配置. 校验下面的列表中显示的内核参数的值被设置为大于或等于下面所显示的最小值. 如果你的系统中下面的任意参数的当前值已经大于或高于下面列出的值,请不要做任何修改. 下面的步骤给出了如何去校验并设置这些参数的值. 通过执行下面的命令进行校验 /sbin/sysctl -a | e

民间最全的Linux系统内核参数调优说明

  相信做运维的同仁,进行运维环境初建时,必须要考虑到操作系统内核参数的优化问题,本人经历数次的运维环境重建后,决定要自行收集一份比较完善的系统内核参数优化说明文件出来,于是就有了下文,本文当前值是官方默认参数,建议参数直接添加于sysctl -a输出的结果每一行的后面,希望对运维的同仁做系统内核参数调优时有所帮助.废话不多讲,直接上干货! #3.10.0-862.el7.x86_64#CentOS Linux release 7.5.1804 abi.vsyscall32 = 1crypto.

Oracle shared_pool_reserved_size参数设置说明

进入SQLPLUS,查询shared_pool,往往看到结果如下: SQL> show parameter shared_pool NAME                                    TYPE              VALUE------------------------------------ ----------- ------------------------------shared_pool_reserved_size           big in

MySQL优化:mysql服务运行参数的设置

可以用管理员登录在mysql>命令行下设置,设置是临时的. 如果希望永久生效,则要修改/etc/my.cnf文件中的[mysqld]下相关参数: #vim /ect/my.cnf [mysqld] -- 下面详细讲解相关运行参数的设置: 1.并发连接数设置    max_connections 最大并发连接数的设置公式:曾经有过的最大连接数/要设置的最大连接数*100%约等于85%时是合适的,15%应付突发访问量 mysql> show  variables like  "max_c

Oracle SQL性能优化

转载自:http://www.cnblogs.com/rootq/archive/2008/11/17/1334727.html (1)      选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交叉表(intersection ta

[转]Oracle DB 配置备份设置

? 使用Oracle Enterprise Manager 配置备份设置 ? 启用控制文件自动备份 ? 配置备份目标 ? 为磁带目标分配通道 ? 配置备份优化 ? 创建压缩备份 ? 创建加密备份 配置RMAN 的永久性设置 ? RMAN 有预设的默认配置设置. ? 使用CONFIGURE命令可以: – 配置自动通道 – 指定备份保留策略 – 指定要创建的备份副本数 – 将默认备份类型设置为BACKUPSET或COPY – 限制备份片段的大小 – 在备份中排除表空间 – 启用和禁用备份优化 – 配

ORACLE数据库性能优化之--&gt;内存磁盘

1,内存结构优化概述 1.1 缓冲区 影响数据库运行性能的缓冲区包括可以共享的SGA和服务器进程私有的pga两大类,其中sga又包括共享池.大型池.java池.数据缓冲区.流池.redo log缓冲区. 1.2 自动内存管理 oracle一般采用自动内存管理来管理系统内存,由oracle自动管理和调整数据库实例的内存大小.在自动管理模式下,首先对初始化参数MEMORY_TARGET(目标内存大小)和MEMORY_MAX_TARGET(最大内存大小)进行配置,数据库调整目标内存大小,根据需要不断重

MySQL缓存参数优化(转)

MySQL 数据库性能优化之缓存参数优化 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO.本文先从 MySQL 数据库IO相关参数(缓存参数)的角度来看看可以通过哪些参数进行IO优化. query_cache_size/query_cache_type (global) Qu

linux 内核参数优化

linux 内核参数优化 Sysctl命令及linux内核参数调整 一.Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc/sysctl.conf文件来实现. 命令格式: sysctl [-n] [-e] -w variable=value sysctl [-n] [-e] -p (default /etc/sysctl.conf) sysctl [-n] [-e] –a 常用参数的意义: -w  临时改变某个指定参数的值,如 # sy