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 硬件

组件最小推荐
CPU2 核8+ 核
内存2GB16+ GB
磁盘10GB100+ GB
Swap2GB16GB

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. 最佳实践

  1. OL 8/9:现代
  2. XFS:性能
  3. HugePages:大内存
  4. 透明大页关闭:稳定
  5. 预安装包:简化
  6. 静态 IP:稳定
  7. /etc/hosts:解析
  8. 环境变量:配置
  9. 监控资源:基础
  10. 文档化:维护

16. 参考资料

[1] Oracle Database Installation Guide 19c for Linux https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/