Oracle 数据库的安装现在是一件非常简单的事情,但在现在服务器硬件配置越来越高的情况下,在安装DB 软件之前,还需要注意几个OS 级别的设置。
Requirements for Installing Oracle Database 19c on OL7 or RHEL7 64-bit (x86-64) (Doc ID 2551169.1)
1 关闭NUMA
关于NUMA,我之前的博客有说明,在高配置的硬件下,安装DB 之前,我们需要先关闭NUMA,具体原因,参考我之前的博客:
Linux NUMA 技术说明
https://www.cndba.cn/dave/article/149
在RHEL 4, RHEL 5, RHEL 6 中,在/boot/grub/grub.conf文件中添加numa=off,如下所示:
title Red Hat Enterprise Linux AS (2.6.9-55.EL)
root (hd0,0)
kernel /vmlinuz-2.6.9-55.EL ro root=/dev/VolGroup00/LogVol00 rhgb quiet numa=off
initrd /initrd-2.6.9-55.EL.img
在RHEL 7 中,需要修改/etc/default/grub文件,添加numa=off,并且需要重建grub,然后重启OS:
[root@www.cndba.cn software]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet transparent_hugepage=never numa=off"
GRUB_DISABLE_RECOVERY="true"
[root@www.cndba.cn software]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-4c7b16d0887748f883ee1a722ec96352
Found initrd image: /boot/initramfs-0-rescue-4c7b16d0887748f883ee1a722ec96352.img
done
[root@www.cndba.cn software]#
在Linux 7.x 中同时还需要配置OS 禁用NUMA 平衡的特性, Linux 6中没有这个选项:
It is also strongly advised to disable NUMA Balancing Feature,in /etc/sysctl.conf
kernel.numa_balancing = 0
2 关闭透明大页THP
RAC 环境下,THP 有可能会导致节点重启。 建议关闭,具体操作参考之前的博客:
详细说明参考:
Linux 7.4 中关闭透明大页(Transparent Huge Pages)
https://www.cndba.cn/dave/article/2673
3 配置大页Hugepage
HugePage 和 Numa 的问题现象是一样的,就是看上去系统内存很大,但是无法使用,DB 设置的内存明显小于服务器内存,但是却开始使用了SWAP,然后系统开始hang。
在大内存的情况下,建议关闭Numa,配置大页,具体操作参考之前的博客:
Linux 7.x 中 Oracle hugepage 大页配置脚本
https://www.cndba.cn/dave/article/2672
4 小结
因为这3个配置是非常容易忽略的OS 级别配置,后期可能会导致性能问题,所以单独整理成一篇博客,供参考。
版权声明:本文为博主原创文章,未经博主允许不得转载。