Oracle Linux 安装与配置
Oracle Linux 安装与配置
适用版本:Oracle Linux 7 / 8 / 9 文档版本:v1.0 / 2026-07
1. 概述
Oracle Linux 是 Oracle 推荐的数据库操作系统[1]:
版本:
- OL 7
- OL 8
- OL 9
2. 系统要求
2.1 硬件
| 组件 | 最小 | 推荐 |
|---|---|---|
| CPU | 2 核 | 8+ 核 |
| 内存 | 2GB | 16+ GB |
| 磁盘 | 10GB | 100+ GB |
| Swap | 2GB | 16GB |
2.2 OS 配置
- 内核版本:3.10+
- glibc 2.17+
- 文件系统:XFS / ext4
3. 安装
3.1 下载
https://www.oracle.com/linux/
3.2 安装类型
- Server(最小)
- Server with GUI
- Custom
3.3 分区建议
/ 50GB
/home 20GB
/tmp 10GB
/var 20GB
/u01 100GB+(Oracle 软件)
/data 剩余(数据)
4. 网络配置
4.1 静态 IP
# /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
4.2 主机名
hostnamectl set-hostname oradb.example.com
4.3 /etc/hosts
192.168.1.100 oradb.example.com oradb
5. 用户与组
5.1 创建组
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 racdba
5.2 创建用户
useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
passwd oracle
6. 内核参数
6.1 /etc/sysctl.conf
# Oracle 19c
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16777216
kernel.shmmax = 68719476736
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
6.2 应用
sysctl -p
******
### 6.3 /etc/security/limits.conf
```bash
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock unlimited
oracle hard memlock unlimited
7. HugePages
7.1 计算
# SGA / 2M = HugePages 数量
# 如 SGA 16G:16*1024/2 = 8192
7.2 配置
# /etc/sysctl.conf
vm.nr_hugepages = 8192
# /etc/security/limits.conf
oracle soft memlock unlimited
oracle hard memlock unlimited
sysctl -p
******
### 7.3 验证
```bash
grep Huge /proc/meminfo
8. 目录
8.1 ORACLE_BASE
mkdir -p ******
chown -R oracle:oinstall /u01
chmod -R 775 /u01
8.2 ORACLE_HOME
mkdir -p ******
9. 环境变量
9.1 .bash_profile
# Oracle
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
# Locale
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
10. 关闭服务
10.1 防火墙
systemctl stop firewalld
systemctl disable firewalld
10.2 SELinux
# /etc/selinux/config
SELINUX=disabled
setenforce 0
10.3 透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
11. YUM 配置
11.1 配置
# OL 8
dnf install oracle-database-preinstall-19c
11.2 手动配置
# /etc/yum.repos.d/public-yum-ol7.repo
[ol7_latest]
name=Oracle Linux 7 Latest
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
12. 包依赖
# OL 8
dnf install -y oracle-database-preinstall-19c
# 手动
dnf install -y \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
gcc \
gcc-c++ \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libXi \
libXtst \
make \
sysstat \
unixODBC \
unixODBC-devel
13. 验证
13.1 系统
# 版本
cat /etc/oracle-release
# 内核
uname -r
# 内存
free -m
# 磁盘
df -h
13.2 参数
sysctl -a | grep -E 'shmm|sem|aio|file-max'
13.3 用户
su - oracle
echo $ORACLE_HOME
14. 常见坑与排错
14.1 内存不足
# 增大 Swap
dd if=/dev/zero of=/swapfile bs=1M count=8192
mkswap /swapfile
swapon /swapfile
14.2 HugePages 失败
# 1. 重启
# 2. 检查 memlock
# 3. use_large_pages = ONLY
14.3 包缺失
dnf install -y oracle-database-preinstall-19c
15. 最佳实践
- OL 8/9:现代
- XFS:性能
- HugePages:大内存
- 透明大页关闭:稳定
- 预安装包:简化
- 静态 IP:稳定
- /etc/hosts:解析
- 环境变量:配置
- 监控资源:基础
- 文档化:维护
16. 参考资料
[1] Oracle Database Installation Guide 19c for Linux https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/