1. 环境准备与系统配置
在CentOS 7上安装Oracle 11g数据库前,必须确保系统环境满足Oracle的安装要求。我通常会先检查系统版本和硬件配置,因为Oracle对这两者有明确的最低要求。
1.1 系统要求验证
首先确认系统版本是否符合要求:
bash复制cat /etc/redhat-release
对于Oracle 11g R2 (11.2.0.4),官方推荐的最小内存为1GB(实际生产环境建议至少4GB),交换空间大小通常设置为物理内存的1.5倍(当内存小于2GB时)或与物理内存相同(当内存大于2GB时)。可以使用以下命令检查:
bash复制free -h
磁盘空间方面,企业版安装需要至少4.5GB的空间,考虑到数据文件和日志文件,建议准备至少20GB的可用空间:
bash复制df -h
1.2 关闭SELinux和防火墙
Oracle安装过程中,SELinux可能会干扰某些操作,建议临时关闭或永久禁用。我通常选择永久禁用,因为生产环境中Oracle服务器通常会部署在受保护的内部网络。
永久禁用SELinux:
bash复制sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sudo setenforce 0
关闭防火墙也是必要的,因为初始安装阶段防火墙规则可能会阻止Oracle的网络通信:
bash复制sudo systemctl stop firewalld
sudo systemctl disable firewalld
注意:在生产环境中,安装完成后应根据需要重新配置防火墙规则,而不是保持防火墙关闭状态。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装依赖包与系统优化
2.1 安装必要依赖包
Oracle 11g需要一系列系统库和工具支持。以下是完整的依赖包安装命令:
bash复制sudo yum install -y gcc make binutils gcc-c++ compat-libstdc++-33 \
elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio \
libaio-devel numactl-devel sysstat unixODBC unixODBC-devel \
pcre-devel glibc-devel libstdc++-devel
如果服务器无法连接外网,可以搭建本地yum源或下载这些包的RPM文件进行离线安装。我曾经遇到过没有外网的环境,提前下载了所有依赖包的解决方案:
- 在有网络的机器上使用
yumdownloader下载所有依赖包 - 将下载的rpm包拷贝到目标服务器
- 使用
rpm -ivh *.rpm命令安装
2.2 内核参数优化
Oracle数据库对Linux内核参数有特定要求。以下是经过多年实践验证的优化配置,编辑/etc/sysctl.conf文件:
bash复制# Oracle 11g recommended kernel parameters
kernel.shmall = 4294967296
kernel.shmmax = 17179869184
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
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
