技术解析

请问安装 Oracle 数据库应该如何正确地调整内核配置参数?
0
2021-06-18 17:55:42
idczone
需要在 Linux 下搭建 Oracle 11g 的数据库,官方文档里只提供了满足安装条件的内核配置参数(/etc/sysctl.conf ),内容如下:

官方文档: https://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCCADGD

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 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 = 1048576

假设我的服务器配置是两个物理 CPU16 核 32 线程,内存是 64G。请问 fs.file-max、kernel.shmmax、fs.aio-max-nr 等等参数的最佳数值是怎么计算出来的?有什么公式或者在线网站可以计算吗?
按照 dba,或者 ocp 的说法,据说是根据实例的运行情况,动态的进行调整。 非常的复杂

我是按这脚本来设置的,自己备份 sysctl.conf。
MEMTOTAL=$(free -b | sed -n '2p' | awk '{print $2}')
SHMMAX=$(expr ${MEMTOTAL} \* 4 / 5)
SHMMNI=4096
SHMALL=$(expr ${MEMTOTAL} / \( 4 \* 1024 \))
cat >> /etc/sysctl.conf << EOF
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmax = $SHMMAX
kernel.shmall = $SHMALL
kernel.shmmni = $SHMMNI
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF

请问大佬脚本中的计算公式是来自工作经验值还是官方?

官方有文档 https://docs.oracle.com/database/121/LADBI/app_manual.htm/>这个好像没什么特别注意的,调性能还是要看 AWR 吧

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服