请问安装 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 吧