前言
一、Oracle安装前系统内核参数设定
内核参数 | 描述 |
---|
Kernel.shmall = 4194304 | 设置系统一次可以使用的共享内存段的最大数量,以页为单位。计算方式为: 16G10241024*1024/PAGE_SIZE,查看PAGE_SIZE:getconf PAGE_SIZE |
kernel.shmmax = 16106127360 | 单个共享内存段的最大值,大于SGA_MAX_SIZE,否则会造成oracle性能下降,大于物理内存的1/2,以字节为单位,这里取的15G10241024*1024 |
kernel.shmmni = 4096 | 系统可分配的共享内存段的最大数量,也是系统中可启动的oracle实例的最大数量,默认值即可,以个为单位。 |
kernel.sem = 3010 385280 3010 128 | 第一列semmsl,表示每个信号集中的最大信号量数目。在oralce中为服务器中所有数据库能开启的最大process数加10。第二列semmns,表示系统范围内的最大信号量总数目。Oracle 建议将 SEMMNS 设置为:系统中每个数据库的 PROCESSES 实例参数设置值的总和,加上最大 PROCESSES 值的两倍,最后根据系统中 Oracle 数据库的数量,每个加 10 。第三列semopm,表示每个信号发生时的最大系统操作数目。Oracle 建议将 SEMOPM 的值设置为不少于 100 。第四列semmni,表示系统范围内的最大信号集总数目。Oracle 建议将 SEMMNI 的值设置为不少于 100 。(第一列)*(第四列)=(第二列) |
kernel.panic = 10 | pnic挂起后超时重启的时间 |
kernel.panic_on_oops = 1 | 延时panic响应,1代表开启 |
kernel.panic_on_unrecovered_nmi = 1 | |
kernel.unknown_nmi_panic = 1 | |
vm.swappiness = 1 | 当系统内存使用到100-1=99%时,开始使用swap分区 |
vm.dirty_ratio = 20 | vm.dirty_ratio: 同步刷脏页,会阻塞应用程序这个参数控制文件系统的同步写写缓冲区的大小,单位是百分比,表示当写缓冲使用到系统内存多少的时候(即指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),),开始向磁盘写出数据,即系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存),在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系统的写性能。但是,当你需要持续、恒定的写入场合时,应该降低其数值,一般启动上缺省是 10 |
vm.nr_hugepages = 156160 | 大内存页,需要设置memlock,和SGA相关详情参考https://blog.csdn.net/aicon/article/details/8132347 |
vm.overcommit_ratio = 10 | 决定了系统可用内存的大小,和参数overcomit_memory相关,参考https://blog.csdn.net/u010616985/article/details/44943361 |
fs.aio-max-nr = 3145728 | 此参数限制并发未完成的异步请求数目,应该设置避免I/O子系统故障。 |
fs.file-max = 6815744 | 设置系统所有进程一共可以打开的文件数量,数据库在开启状态时,所有的数据文件都处于打开状态,因此一定要设置足够大。 |
net.core.rmem_default =262144 | |
net.core.rmem_max = 4194340 | |
net.ipv4.ip_local_port_range = 9000 65500 | 修改内核临时端口范围 |
net.core.wmem_default = 262144 | |
net.core.wmem_max = 1048576 | 最大的TCP数据接收窗口(字节) |
二、设置用户资源限制
修改用户资源限制文件,vim打开/etc/security/limits.conf,在末尾添加如下参数:
vim /etc/security/limits.conf
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft nofile 635360
oracle hard nofile 635360
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 8388608
oracle hard memlock 8388608
说明:limits.conf实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so的配置文件,而且只针对于单个会话。参数格式是username|@groupname type resource limit。
username|@groupname:
设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:
有soft,hard和-,
soft指的是当前系统生效的设置值。
hard表明系统中所能设定的最大值。soft的限制不能比hard限制高。
用-就表明同时设置了soft和hard 的值。
resource:
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目