安装ORACLE时在Linux上设置内核参数是非常重要的,以便获得最佳的系统性能和数据安全性。接下来,我们将详细讲解如何在Linux上设置内核参数。
安装ORACLE前的准备工作
在安装ORACLE前,我们需要进行一些准备工作。
-
确认内核版本:使用
uname -r
命令查询系统内核版本。 -
确认内存大小:使用
cat /proc/meminfo | grep MemTotal
命令查询系统内存大小。
设置内核参数
- 设置共享内存:
共享内存是ORACLE数据库性能的关键因素之一。对于64位系统而言,建议将shmmax设置为536870912
,shmall设置为2097152
。
echo "kernel.shmmax = 536870912" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
sysctl -p
- 设置打开文件数:
ORACLE需要大量的文件句柄,因此需要将打开文件数最大值提高到300000。
echo "* soft nofile 300000" >> /etc/security/limits.conf
echo "* hard nofile 300000" >> /etc/security/limits.conf
- 禁用THP(Transparent Huge Pages):
THP是一种Linux内核的内存管理功能,它可以将分散的物理页面合并成一整块大页面。但对于ORACLE而言,THP会带来不可预知的性能问题。因此,建议禁用THP。
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
实例说明
示例1:
在安装ORACLE数据库时,执行了以下命令:
echo "kernel.shmmax = 536870912" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
sysctl -p
echo "* soft nofile 300000" >> /etc/security/limits.conf
echo "* hard nofile 300000" >> /etc/security/limits.conf
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
这个实例中执行了所有的内核参数设置。
示例2:
在不禁用THP的情况下,使用Glibc malloc库和ORACLE10g的过程中,会在后台频繁地打印“Unpurged allocation”,而作业的性能也会受到影响。此时,我们需要禁用THP。命令如下:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
这个示例中只执行了禁用THP的设置。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈安装ORACLE时在Linux上设置内核参数的含义 - Python技术站